为什么我不能这样做:
App.FullsizeView = Ember.View.extend({
stateChange: function () {
console.log(this.state)
}.observes('state')
});
错误: 断言失败:您必须使用Ember.set()来访问此属性(of)
非常感谢!
答案 0 :(得分:2)
状态变量与Ember冲突(在1.2和1.3.0-beta.4版本上检查)。尝试在代码中重命名state和stateChange。
同样的问题发生在我的观点 -
App.ActionBarView = Ember.View.extend({
templateName: "action-bar",
stateBinding: "App.accessBarModel"
});
将stateBinding替换为“barStateBinding”解决了这个问题。
答案 1 :(得分:0)
Ember保留state
属性以跟踪视图的内部状态(preRender
,inBuffer
,hasElement
,inDOM
,{{1 }})。这是不可观察的。
如果要跟踪destroying
的其他概念,请使用其他属性名称。如果你有一个用例你想要观察Ember的state
视图属性,我会有兴趣听到它。