Ember.js 观察员过早开火
我有三个下拉列表。在准备控制器时,我正在执行以下操作:Ember.js 观察员过早开火,ember.js,Ember.js,我有三个下拉列表。在准备控制器时,我正在执行以下操作: 预先设置绑定属性(selectedCountry、selectedSubtype、selectedCity)(this.set('selectedCountry','DE');) 设置属性之后,我为这些属性添加了观察者,这样每当用户更改选择时,都可以重新配置下拉列表。在初始化属性之后,我会小心地添加观察者,这样我就不会意外地触发控制器 但是,一旦渲染视图,观察者将立即被激发。用户尚未执行任何操作。我不理解这一点,但我认为,在DOM中渲染视图
this.set('selectedCountry','DE');
)如果是这种情况,我能想到的唯一解决方案是在渲染视图后配置观察者。对于
视图
,有一个didInsertElement
,但我的问题与控制器有关。因此,我感到困惑:控制器的工作是否关心渲染问题?我不这样认为:这应该是观点的责任!但是控制器显然受到渲染顺序的影响!如何以干净的方式解决此问题?您能否展示您的观察者的示例代码,应该可以以这种方式实现观察者,使其在第一次调用时表现不同。我需要查看jsbin以提供更准确的详细信息。Observes有点特别,特别是当发生更改时,它会立即启动,而不会等到运行循环或类似的结束。我不会想象绑定会触发它,但我必须看到更精确的代码。在这一点上,您可以尝试在observes中抛出一些日志记录,以查看每次命中的值。