2012-05-30 77 views
15

我正在完成創建指令的過程。經歷了幾次起伏之後,我通過創建指令(小部件)並完成了指令將採取的各種屬性。需要指令'範圍'中的值屬性

我使用的可用類似屬性,綁定,評估,表達等各個選項..

我想通了,如果你想創建一個通用組件,你永遠不能告訴人們如何將價值觀傳遞給組件。

這裏有一個例子...

您正在創建一個新的元素成分..說

<hello name="__ARGUMENT__"></hello> 

對你好的name屬性是它的唯一變量。如果您將它公開發布......這些是人們可能使用此組件的可能場景。

的情況下1:

<hello name="angular"></hello> 

的情況下2:

<hello name="{{name}}"></hello> 

的情況下3:

<div ng-repeat="name in names"> 
    <hello name="name"></hello> 
</div> 

現在。對於不同的場景。我是來了解各種選擇提供。我不能想到一個單一的場景,你會想要'屬性',因爲它是從組件到模板的簡單直接替換值。

在您的指令定義中,如果您已將名稱定義爲「評估」 '屬性'

,如果屬性:

<hello name="angular"></hello> 

如果評估:

<hello name="'angular'"></hello> 

注意額外的單引號..

因此,據我所知,評估涵蓋了什麼屬性。而且,使用評估似乎是一個比只是屬性更好的選擇,因爲它涵蓋了更多的場景!

如果有人可以解釋爲什麼屬性存在的第一個地方?更多的選擇=更多的困惑.. :)

+0

Ganaraj,你提起這件事很棒。當我在本週末閱讀指令文檔時,我得出了類似的結論。另一件事是控制器「需要」屬性與魔術文字前綴(?,^)。事實是?使需求依賴項可選有點奇怪。也許有單獨的選項,這當然更復雜的事情... –

回答

7

我們很清楚這種困惑,並將在未來進行清理。

+5

迄今爲止的任何變化? – stej