gpt4 book ai didi

javascript - Ember.Select selectionBinding 在加载 View 时触发

转载 作者:行者123 更新时间:2023-11-29 18:27:28 25 4
gpt4 key购买 nike

我已经为我的 Ember.Select 添加了 selectionDidChange 事件,但是当我的 View 加载时,它会在加载时为所有可用的下拉选项触发该事件。原因是它在内部向下拉列表添加选项并不断触发 selectionDidChange 事件....有什么办法可以停止初始事件触发

这是我的代码(测试代码)

App = Em.Application.create();
App.myView = Em.View.extend({
templateName: 'myTemplate',
myArr:[{category:"spend"},{category:"cashflow"}],
selectedItem: '',
dropDownView: Ember.Select.extend({
contentBinding: 'parentView.myArr',
selectionBinding: 'parentView.selectedItem',
optionLabelPath: 'content.category'
selectionDidChange: function(){
alert("yes it changed");
}
})
});

我对应的Handlebar(myTemplate.handlebars)文件 {{view.dropDownView}}

现在,当我加载此 View 时,它甚至在我选择下拉列表中的任何选项之前就发出警报...

额外信息:我需要这个函数,因为我正在使用 RaphaelJS 开发小部件,所以当我更改下拉选项时,我希望小部件发生变化。

最佳答案

didInsertElement中添加selectionDidChange函数:

dropDownView: Ember.Select.extend({
didInsertElement: function(){
this.set('selectionDidChange', function(){
alert("yes it changed");
});
},
contentBinding: 'parentView.myArr',
selectionBinding: 'parentView.selectedItem',
optionLabelPath: 'content.category'
})

关于javascript - Ember.Select selectionBinding 在加载 View 时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com