2015-05-13 36 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屬性

相關問題