2015-05-13 15 views
1

我有一个名为star-rate的组件,它有一个score属性。在模板的代码是:为什么我无法获取传递给组件的属性值?

{{star-rate score=score}} 

组件/星rate.js,我写道:

didInsertElement: function() { 
    var score = this.get('score'); 
    console.log(score); // undefined, why? 
} 

为什么不能拿到分数值?但如果我将模板代码更改为:

{{star-rate score=4}} 

然后我会得到分数值。

+2

也许尝试{{star-rate score = model.score}}或创建一个失败的emberjs.jsbin.com – blessenm

回答

0

我认为组件的一切正常,但您分配的score值本身就是undefined

+0

我从模型得到分数,如果model.score = 3,我只写这个:得分是:{{model.score}},我会得到:得分是:3 markduan

+0

@markduan如果'score'是'commentEntry'上的一个属性,那么您必须像这样传递完整路径:'{{star-rate score = commentEntry.score}}'。 – famousgarkin

+0

是的,我这样做就像你说的,但仍然无法得到的价值,如果我写这个:{{log'score'model.score}},结果也是未定义的。 – markduan

0

组件很好。尝试设置模板的控制器上得分值(如果你调用的组件。

export default Ember.Controller.extend({ 
    score:0, 
    }) 

它不会再被不确定的。

或者你可以在模板中的路径使用setupController属性

相关问题