Javascript 余烬复选框输入帮助程序
我试图使用一个Ember的复选框输入助手,它被放置在一个div中,并为其分配了一个操作。我遇到的问题是,现在单击复选框无法正常工作,而是调用了容器的操作助手Javascript 余烬复选框输入帮助程序,javascript,ember.js,checkbox,Javascript,Ember.js,Checkbox,我试图使用一个Ember的复选框输入助手,它被放置在一个div中,并为其分配了一个操作。我遇到的问题是,现在单击复选框无法正常工作,而是调用了容器的操作助手 App.MyCheckboxComponent = Ember.Component.extend({ isSelected: false, actions: { containerClicked: function(e) { alert('container clicked');
App.MyCheckboxComponent = Ember.Component.extend({
isSelected: false,
actions: {
containerClicked: function(e) {
alert('container clicked');
}
}
});
我创建了一个应用程序来在实际操作中显示这一点。有人知道我该如何预防吗
我希望单击复选框以更新其绑定值
在复选框外部单击时,容器应触发与容器关联的操作
对于通用操作,您可以设置
bubbles=false
,但这似乎不适用于输入帮助程序。谢谢 上次我做这件事时遇到了完全相同的问题。下面是我的导师和我决定做的事情
App=Ember.Application.create();
App.Router.map(函数(){
//把你的路线放在这里
});
App.IndexRoute=Ember.Route.extend({
模型:函数(){
返回[‘红色’、‘黄色’、‘蓝色’];
}
});
App.MyCheckboxComponent=Ember.Component.extend({
选:错,
行动:{
容器点击:功能(e){
警报(“容器已单击”);
},
测试:功能(e){
此.toggleProperty(“isSelected”);
}
}
});代码>
/*将您的CSS放在这里*/
html,
身体{
利润率:20px;
}
欢迎来到Ember.js
{{outlet}}
{{my checkbox}}
{{{#如果当选}
{{else}
{{/if}{{isSelected}}
即使您已经创建了一个小提琴,您也应该在问题中添加相关的代码。您介意解释一下原因吗?在我看来,在这种情况下,上下文比相关的代码行更重要。还感谢您在我还没来得及编辑之前就进行了编辑:)如果没有其他内容,熟悉这个概念的人只需浏览一下您的代码就可以回答,而无需单击链接。它只有10行代码,不包括它只会让询问者看起来很懒。如果你想有人帮助你,你也不想显得懒惰。:)从“也包括你的问题本身的代码。不是每个人都可以访问外部网站,链接可能会随着时间的推移而中断”感谢你的解释,参考,并改变我的想法:)这实际上是一种相反的我想做的。当我试图阻止某个操作进入我的组件时,你的链接谈到向上传递操作。不幸的是,我无法控制Handlebar助手生成的事件。谢谢你的建议,谢谢你的想法。经过更多的实验,这似乎是一个比我提出的更好的解决方案。最后,我决定只使用CSS样式指示选择,因为我所需要的只是显示一个项目被选中。谢谢你的帮助。