相关疑难解决方法(0)

如何在模型对象上观察*all*属性更改?

我有一个从JSON对象构建的模型.

// extend the json model to get all props
App.Model = Ember.Object.extend(window.jsonModel);
Run Code Online (Sandbox Code Playgroud)

我希望在更新任何内容时自动保存模型.有什么方法可以为整个模型添加观察者吗?

编辑://添加我目前的解决方案

现在我做:

// XXX Can't be right
for (var prop in window.jsonModel) {
    if (window.jsonModel.hasOwnProperty(prop)) {
        App.model.addObserver(prop, scheduleSave);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个很大的形式,这意味着我增加了大量的观察者 - 它看起来效率很低.

一个萤火虫断点Ember.sendEvent()揭示了有App.model.lastName:change被发送的事件.我可以在那里进行拦截,但希望有正式的方法.

ember.js

16
推荐指数
2
解决办法
8358
查看次数

Ember.js:观察所有对象属性

我想观察对象属性的所有更改.
在以下示例中,如果更改了firstname或lastname,我希望personChanged观察者通知我.
但我想在所有对象属性上应用泛型(使用Ember.keys()??)如何用更通用的东西替换'firstname','lastname'?

在我的例子中:

personChanged被调用时firstnamelastname发生变化:

 App.MyObject: Ember.Object.create({
   firstname: 'first',
   lastname: 'last',
   personChanged: Ember.observer(function() {
            console.log("person changed");
   }, 'firstname', 'lastname') 
 })
Run Code Online (Sandbox Code Playgroud)

ember.js

9
推荐指数
2
解决办法
7108
查看次数

如何观察所有对象属性的变化?

对于数组,我知道你可以这样做:

function() {
}.observes("array.@each")
Run Code Online (Sandbox Code Playgroud)

我所做的是将对象转换为数组并使用@each观察属性,但有没有更好的方法来观察对象的所有属性更改而不将其转换为数组?

foreach properties object ember.js

6
推荐指数
1
解决办法
8800
查看次数

标签 统计

ember.js ×3

foreach ×1

object ×1

properties ×1