Ember的“观察”会引发断言错误,而计算出的属性不会吗?

埃迪·伯恩(Edy Bourne)

我有一个组件,当我使用时会引发错误observes,但是当我propertydisplayPages计算属性中使用时不会引发错误

App.ExampleComponent = Ember.Component.extend({
    tagName : 'ul',
    classNames : [ 'pagination' ],
    current : 1,
    modelName : null,
    meta : null,

    actions : {
        next : function() {
            var current = this.get('current');
            this.set('current', parseInt(current, 10) + 1);
        },

        previous : function() {
            var current = this.get('current');
            this.set('current', parseInt(current, 10) - 1);
        }
    },

    updateMeta : function() {       
        this.set('meta', new Number(Math.random()));

    }.observes('current').on('init'),

    currentPage : function() {
        return Number(this.get('current'));
    }.property('current'),

    displayPages : function() {

        // complex logic lives here, so I used "observes" instead of "property"

        console.log('Im invoked the first time meta is set, but not on subsequent changes');

        var result = [];
        return result;

    }.property('meta')

});

如果我更改observes并使用property它,则可以正常工作。但是该displayPages属性包含复杂的逻辑,因此我想observes按照文档指南使用:

http://emberjs.com/guides/object-model/what-do-i-use-when/

如果.property('meta')将其替换并替换为.observes('meta'),则会出现以下错误:

Uncaught Error: Assertion Failed: ArrayProxy expects an Array or Ember.ArrayProxy, but you passed function

问题是……为什么呢?

我不认为我的理解之间的不同observesproperty,但阅读文档并没有太大的帮助在这种情况下..

劲派2k

计算的属性返回一个值。值更改时观察触发功能。换句话说,观察值不返回值。

您可能正在尝试迭代自己的observes方法,Ember大喊大叫,我希望数组能够进行迭代,并且您向我传递了一个函数。

显示此示例:http : //emberjs.jsbin.com/tariliya/1/edit

您应该使用计算属性。每当相关属性更改时,它都会更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算出的剔除会创建可写但未读的可观察对象的依赖关系

来自分类Dev

Google App Engine计算出的属性日期返回引发异常

来自分类Dev

淘汰赛:找出计算出的可观察触发

来自分类Dev

从其他属性计算出的pythonic类实例属性

来自分类Dev

使用计算出的属性设置器会导致“无法分配给该表达式的结果”

来自分类Dev

Tensorflow可以计算出积分逼近的梯度吗?

来自分类Dev

将计算出的属性从Category转换为Swift Extension

来自分类Dev

Swift计算出错误的结构大小

来自分类Dev

VBA“中”功能计算出错误的值

来自分类Dev

两个NSDate的计算出的差是错误的-固定的

来自分类Dev

我可以在不调用对象函数的情况下获得(可能是计算出的)属性值吗?

来自分类Dev

打字稿错误:计算出的属性名称必须为“字符串”,“数字”,“符号”或“任何”类型

来自分类Dev

更改计算的依赖项时,计算出的可观察的敲除不更新值

来自分类Dev

计算出现次数

来自分类Dev

使用可观察数组计算出的淘汰赛未更新

来自分类Dev

通过访问observableArray计算出可观察到的淘汰赛

来自分类Dev

KnockoutJS-根据计算出的可观察对象的输出设置选择列表的初始值

来自分类Dev

添加自定义授权会导致错误:我们计算出的请求签名与您提供的签名不匹配

来自分类Dev

SQL Server查询:连接两个字符串并将其转换为datetime会更改格式,从而计算出的Datedifference错误

来自分类Dev

是否在层上添加前向钩子以确保使用该层的输出计算出的损耗梯度会自动计算出来?

来自分类Dev

在日期中加上天数,计算出差异不会导致预期结果

来自分类Dev

观察当前时间的Ember计算属性

来自分类Dev

JS中的Rem单位是计算出来的吗?

来自分类Dev

java的,当不是数组时,将计算出的值打印到文件中吗?

来自分类Dev

可以从Android密钥库的指纹中计算出证书吗?

来自分类Dev

ExtJs4 +:计算出的模型字段可以编辑吗?

来自分类Dev

使用Marionette Backbone.js渲染视图后获取计算出的CSS属性(例如:宽度)

来自分类Dev

在SQLAlchemy中打印计算出的距离

来自分类Dev

Golang Fibonacci计算出现

Related 相关文章

  1. 1

    计算出的剔除会创建可写但未读的可观察对象的依赖关系

  2. 2

    Google App Engine计算出的属性日期返回引发异常

  3. 3

    淘汰赛:找出计算出的可观察触发

  4. 4

    从其他属性计算出的pythonic类实例属性

  5. 5

    使用计算出的属性设置器会导致“无法分配给该表达式的结果”

  6. 6

    Tensorflow可以计算出积分逼近的梯度吗?

  7. 7

    将计算出的属性从Category转换为Swift Extension

  8. 8

    Swift计算出错误的结构大小

  9. 9

    VBA“中”功能计算出错误的值

  10. 10

    两个NSDate的计算出的差是错误的-固定的

  11. 11

    我可以在不调用对象函数的情况下获得(可能是计算出的)属性值吗?

  12. 12

    打字稿错误:计算出的属性名称必须为“字符串”,“数字”,“符号”或“任何”类型

  13. 13

    更改计算的依赖项时,计算出的可观察的敲除不更新值

  14. 14

    计算出现次数

  15. 15

    使用可观察数组计算出的淘汰赛未更新

  16. 16

    通过访问observableArray计算出可观察到的淘汰赛

  17. 17

    KnockoutJS-根据计算出的可观察对象的输出设置选择列表的初始值

  18. 18

    添加自定义授权会导致错误:我们计算出的请求签名与您提供的签名不匹配

  19. 19

    SQL Server查询:连接两个字符串并将其转换为datetime会更改格式,从而计算出的Datedifference错误

  20. 20

    是否在层上添加前向钩子以确保使用该层的输出计算出的损耗梯度会自动计算出来?

  21. 21

    在日期中加上天数,计算出差异不会导致预期结果

  22. 22

    观察当前时间的Ember计算属性

  23. 23

    JS中的Rem单位是计算出来的吗?

  24. 24

    java的,当不是数组时,将计算出的值打印到文件中吗?

  25. 25

    可以从Android密钥库的指纹中计算出证书吗?

  26. 26

    ExtJs4 +:计算出的模型字段可以编辑吗?

  27. 27

    使用Marionette Backbone.js渲染视图后获取计算出的CSS属性(例如:宽度)

  28. 28

    在SQLAlchemy中打印计算出的距离

  29. 29

    Golang Fibonacci计算出现

热门标签

归档