我正在 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/