【问题标题】:Ember js table componentEmber js表格组件
【发布时间】:2015-04-13 13:32:37
【问题描述】:

我做了一个非常简单的表格组件。它需要一个模型,并从中构建一个表。

http://emberjs.jsbin.com/raqomebeqi/1

由于它非常原始并且具有硬编码的属性名称,因此我决定制作模型的组件内表示,以对表格的内容进行排序、过滤。它还允许仅显示有界模型中的某些列。 (列属性)

http://emberjs.jsbin.com/raqomebeqi/2

问题:它不再对模型的变化做出反应。在第一个示例中,如果我点击“更改”按钮,它将获取第一条记录,并设置一个新名称。可以看到表中的变化。在第二种情况下,Ember 检查器显示名称的更改,但表格显示旧值。

我知道我能做到

data: Ember.computed('model.@each.name', function(){
  //...
})

来监控名字的变化,但不是很动态。我怎样才能让我的data 对模型上的每一个变化做出反应?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    如果您希望数据对每次更改做出反应,您可以这样做:

    data: Ember.computed('model', function(){
        //...
    })
    

    更新:

    这不行

    【讨论】:

    • 不,它不会工作。只有当整个模型被改变了。如果只有一个属性发生变化,它不会触发。
    • 如果是model.@each?
    • 试试看:emberjs.jsbin.com/wogikazobe/1/edit 它不会工作.
    • 你说得对,我的印象是这会奏效。似乎没有办法轻松做到这一点。
    • 是的,我找不到一个干净简单的解决方案。也许我尝试制作一个嵌套组件:table->row->cell。我认为如果 row 只观察其单元格会有所帮助。也许我错了
    猜你喜欢
    • 2014-08-26
    • 2016-09-30
    • 2020-05-17
    • 2023-03-31
    • 2012-06-28
    • 2017-02-15
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多