Ember.js 使用组件属性上的Ember.set发出问题
我有一个组件,它在某个模板中接收Ember.js 使用组件属性上的Ember.set发出问题,ember.js,ember-data,Ember.js,Ember Data,我有一个组件,它在某个模板中接收模型属性: {{#client-user-pipeline-step model=step tasks=step.tasks routeOnOpenAddTaskModal=(route-action "onOpenAddTaskModal") routeOnOpenEditTextModal=(route-action "onOpenEditTextModal")}} {{/client-user-pipeline-step}} 根据我的理解,这将存储
模型
属性:
{{#client-user-pipeline-step model=step tasks=step.tasks routeOnOpenAddTaskModal=(route-action "onOpenAddTaskModal")
routeOnOpenEditTextModal=(route-action "onOpenEditTextModal")}}
{{/client-user-pipeline-step}}
根据我的理解,这将存储为Ember.Object
实例,并在组件中包含属性观察器和内容。现在,当我试图通过简单地给模型赋值来更改该模型的某些属性时,我得到以下错误:
You must use Ember.set() to set the `name` property (of [object Object])
this.getModel(...).set is not a function
这正是我所期望的,因为该属性是由于数据绑定而被观察到的。现在,当我尝试使用Ember.set
更改值时,就像在this.getModel().set('name',name)中一样代码>我得到这个错误:
You must use Ember.set() to set the `name` property (of [object Object])
this.getModel(...).set is not a function
哇,太棒了!我找不到一个精确的解释来解释这个数据绑定的东西在文档中是如何工作的,所以如果有人能就整个想法,特别是这个问题给我一些启发,我将不胜感激。谢谢
更新:
getModel()
函数是this.get('model')
什么是getModel
函数?如果它返回Ember.Object
,则可以使用this.set
,否则需要使用Ember.set
。我更新了答案。使用Ember.set可以工作,但DOM不会得到更新。model=step
-这是什么步骤?请包括步骤的相关代码。它是不是Ember.Object
?。并包括客户端用户管道步骤
hbs相关代码too@kumkanillam我已经用Ember.set
解决了这个问题。谢谢你的建议@如果this.set
不起作用,但Ember.set
我敢打赌您的底层对象不是Ember.object
。