相关疑难解决方法(0)

如何动态地将观察者方法添加到Ember.js对象

所以我试图动态地将这些观察者方法添加到Ember.js对象

holderStandoutCheckedChanged: (->
    if @get("controller.parent.isLoaded")
        @get("controller").toggleParentStandout(@get("standoutHolderChecked"))
).observes("standoutHolderChecked")

holderPaddingCheckedChanged: (->
    if @get("controller.parent.isLoaded")
        @get("controller").toggleParentPadding(@get("holderPaddingChecked"))
).observes("holderPaddingChecked")

holderMarginCheckedChanged: (->
    if @get("controller.parent.isLoaded")
        @get("controller").toggleParentMargin(@get("holderMarginChecked"))
).observes("holderMarginChecked")
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个代码但是没有调用item.methodToCall函数

methodsToDefine = [
    {checkerName: "standoutHolderChecked", methodToCall: "toggleParentStandout"},
    {checkerName: "holderPaddingChecked", methodToCall: "toggleParentPadding"},
    {checkerName: "holderMarginChecked", methodToCall: "toggleParentMargin"}
]

add_this = { }

for item in methodsToDefine
    add_this["#{item.checkerName}Changed"] = (->
        if @get("controller.parent.isLoaded")
            @get("controller")[item.methodToCall](@get(item.checkerName))
    ).observes(item.checkerName)

App.ColumnSetupView.reopen add_this
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?有一个更好的方法吗 ?我应该在混音中这样做吗?如果是的话请

javascript coffeescript ember.js

8
推荐指数
1
解决办法
1万
查看次数

Ember.js:折叠/推迟昂贵的观察者或计算属性

在Ember应用程序中,假设您有观察者或观察阵列的属性,如下所示:

topContributor: (function() {
  // ... loop over articles (hence slow) ...
}).property('articles.@each.author')
Run Code Online (Sandbox Code Playgroud)

articles例如,通过ember-data 更新数组会反复触发属性函数articles.length一次.

有没有办法在所有更改完成并刷新runloop后将更新折叠为一个延迟更新?

ember.js

7
推荐指数
1
解决办法
1272
查看次数

所有值的ember.js观察者

在Ember.js中,是否有一种添加观察者的好方法,该观察者将观察子类实例上的所有更改Ember.Object

(咖啡)

Bat = Ember.Object.extend
    name: null
    age: null

hank = Bat.create
    name: 'Hank'
    age: 2

#Something like this
hank.addObserverToAll myClass, 'handleChange'
Run Code Online (Sandbox Code Playgroud)

javascript ember.js

4
推荐指数
1
解决办法
1194
查看次数

标签 统计

ember.js ×3

javascript ×2

coffeescript ×1