javascript - 如何在 Ember 中编辑 View 时停止事件冒泡

标签 javascript jquery ember.js jsfiddle jsbin

我正在 Ember 中处理一些可编辑 View ,请单击 here to see my jsbin每当我想编辑当前 View 时,我都会遇到问题。正如您所看到的问题是,一旦我单击编辑单个 View ,所有其他事务都将变得可编辑,我不希望这样,我希望只有一个项目变得可编辑,而不是所有项目。我不知道我做错了什么,但另一方面,如果我删除一个,它会很好地工作。

在我的 Controller 中,这是功能:

edit:function(ob){
    this.map(function(item,index){
        if(ob.id===item.id)
            Em.set(item,'editable',true);
        });
    },

最佳答案

我认为您的问题源于这样一个事实:您尝试比较的对象没有 .id 属性。

试试这个...

this.forEach(function(item) {
    if (ob === item) {
      Em.set(item, 'editable', true);
    }
  });

虽然我确实在您的代码中注意到,但当您将项目添加到列表时,您正在添加另一个编辑输入,并且正在进行一些绑定(bind)。但这应该回答您有关为每个单独项目设置编辑的问题。

您的函数将所有项目设置为可编辑的原因是因为 ob.id === item.id,因为它们都不存在,所以这是一个真实的陈述...因此所有项目都设置为可编辑= 正确。

狩猎快乐!

关于javascript - 如何在 Ember 中编辑 View 时停止事件冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224586/

相关文章:

php - jquery - 使用 Lightbox 插件和来自 mysql 数据库的 blob

Javascript:在用户完成滚动后执行操作

javascript - 多个输入的平均值

javascript - Ember.js - 在对象中定义 ArrayProxy

javascript - 使用 Node js Express 登录帖子事件抛出 401 错误

javascript - 隐藏敏感内容的正确方法?

javascript - 如何在视频标签上实现叠加

javascript - 使用 jQuery 更改图像

javascript - 我最初尝试让默认路由在 ember 中工作时缺少什么?

ember.js - 在给定的 HTML 标签内包含 EmberJS 应用程序