Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 观察Ember中ObjectProxy的属性更改_Javascript_Ember.js - Fatal编程技术网

Javascript 观察Ember中ObjectProxy的属性更改

Javascript 观察Ember中ObjectProxy的属性更改,javascript,ember.js,Javascript,Ember.js,以下是关于如何将复选框与余烬一起使用的本教程: 一切都很好。除了现在,我想监听对象中的属性“checked”何时更改。这是我的密码: someArray: Ember.computed 'proxiedCheckedItems.[]', -> // should fire whenever an item is checked. But it does not. console.debug("CD: detected change here") // return

以下是关于如何将复选框与余烬一起使用的本教程:

一切都很好。除了现在,我想监听对象中的属性“checked”何时更改。这是我的密码:

someArray: Ember.computed 'proxiedCheckedItems.[]', ->
    // should fire whenever an item is checked. But it does not.
    console.debug("CD: detected change here")
    // return some array

proxiedModel: Ember.computed.map 'someArray', (model) ->
    Ember.ObjectProxy.create({
        content: model,
        checked: false
    })

proxiedCheckedItems: Ember.computed.filterBy('proxiedModel', 'checked', true)

因此,观察
proxiedCheckedItems.[]
是错误的。我试过
proxiedCheckedItems.@each
proxiedCheckedItems.checked
。什么都不管用。那么,如何在Ember中观察ObjectProxy数组呢?

您具有循环计算属性
someArray
依赖于
proxiedCheckedItems
,后者依赖于
proxiedModel
,后者依赖于
someArray
!老实说,我不能说在你的情况下发生了什么,但我可以告诉你,余烬并不是用来处理循环相关属性的。很可能您正在调用某种未定义的行为。

在这种情况下,您的模板是什么样子的?
[]
将观察长度,这样看起来很好。#1是错误的
proxiedCheckedItems
是一个数组,当其任何属性的
.checked
值更改时,该数组的长度也会更改。在这种情况下,
proxiedCheckedItems.[]
是正确的。