2015-01-21 39 views
0

當您通過「空」像在車把上的屬性值:Ember.js:在HBS傳遞null到組件

{{my-example myProperty=null}} 

然後在組件的myProperty值不是null預期但undefined

所以首先,我認爲它總是可以將所有未加引號的字符串解釋爲(我們說)控制器屬性。但如果你寫:

{{my-example myProperty=true}} 

它被解釋爲布爾值= true。

不應該是,首先,呃檢查所有的保留字,然後試圖找到該名稱的屬性?也許我錯過了一些東西。

另一件事是,如果傳遞null到組件的概念是正確的......但我只是想知道我是否應該發佈一個問題。

代碼:

的jsfiddle:http://jsfiddle.net/8dtugkdh/

回答

1

我不會刻意從自身之外的組件屬性設置爲null。在我構建的一些Ember組件中,這是非常常見的,用於在組件中將屬性設置爲null。在init中或作爲默認值。然後,在其生命週期中,檢查組件代碼中的值。

可以或者確實變爲null的值可以傳入你的組件。在那時,只要是一個真理檢查,檢查null的代碼應該沒問題。

+0

我同意所有這些陳述。然而,我很好奇爲什麼他們把'null'作爲屬性的名稱而不是'null'本身。我的問題是:「是故意的」?不是「將'null'傳遞給你的組件」很好嗎?我感興趣的是這種不一致性來自哪裏。 – andrusieczko 2015-01-21 04:02:42