有没有办法实现这样的事情?像这样的对象:
App.myGlobalObject = {
key: value,
key2: {
key3: value3,
key4: value4
}
}
当更新key4时,会在所观察到的任何地方触发事件。
(奖金问题:如何观察?)
修改
我的第一个领导:
1 /建立一个基因"关键"对象:
Key = Ember.Object.extend( {
value: null,
valueChange: function () {
console.log( arguments );
}.observes( 'value' ).on( 'change' )
} );
2 /创建此对象的实例
test = Key.create( {
value: null
} );
3 /好,它有效,当我尝试test.set('value', 'test')
时,会触发观察者。
4 /现在,如何在控制器或视图中观察它?
答案 0 :(得分:1)
你几乎在那里,只需将它分配给全局命名空间(大写),然后你就可以看到放置完全限定的路径:
App.GlobalObj = Em.Object.create({
foo:'asdf'
});
App.IndexController = Em.Controller.extend({
basedOnFoo: function(){
return App.GlobalObj.get('foo') + 'modified';
}.property('App.GlobalObj.foo')
});