Ember.js 控制器上的视图观察者。1.0.0rc8后模型不工作
我有一个文本区域,当其关联控制器的模型发生变化时,该区域应接收焦点 在rc8之前,我使用了以下观察者:Ember.js 控制器上的视图观察者。1.0.0rc8后模型不工作,ember.js,Ember.js,我有一个文本区域,当其关联控制器的模型发生变化时,该区域应接收焦点 在rc8之前,我使用了以下观察者: modelChanged: function() { this.set('focusing', true); this.$().focus(); this.set('focusing', false); }.observes('controller.model'), 我无法让它在1.0.0版本或rc8中工作。我已验证控制器中的观察员是否在预期情况下开火: modelChanged
modelChanged: function() {
this.set('focusing', true);
this.$().focus();
this.set('focusing', false);
}.observes('controller.model'),
我无法让它在1.0.0版本或rc8中工作。我已验证控制器中的观察员是否在预期情况下开火:
modelChanged: function() {
console.log('TextArtController->modelChanged');
}.observes('model'),
不过,我想说的是,不要让该级别的控制器关心特定的视图(我希望使用pull而不是push)
经过进一步挖掘,我发现了这张变更通知:
- 制作TextField和TextArea组件
这会将我的textarea子类与控制器/视图层次结构断开 在最新版本的ember 1.0.0中,视图的
TextField
和TextArea
转换为组件ember.Component
,并且由于作为独立视图的组件不知道其上下文,controller
属性不再引用controller
也就是说,您仍然可以完成您正在尝试做的事情的一种方法是使用未记录的targetObject
,它在视图的周围上下文中引用控制器
modelChanged: function() {
this.set('focusing', true);
this.$().focus();
this.set('focusing', false);
}.observes('targetObject.model'),
希望有帮助。最后我使用了一个模型属性&binding,但是了解targetObject非常有帮助