2013-08-30 14 views
1

我是AngularJS的新手,但從我見過的&到目前爲止,這是驚人的。我想要做的是在HTML屬性中綁定AngularJS,但將其與另一個字符串連接起來。我會做到這一點的主要場所是類& ID的,因爲我喜歡有像「THISFORM」 &「thisdivid」名稱等從我第一個例子元素是:AngularJS:連接HTML屬性中的角度變量

<input type="checkbox" name="tdl_task[]" data-ng-checked="list.default" id="tdl_task_{{ id }}" data-ng-class="{tdl_item: true}" data-ng-true-value="done" data-ng-false-value="not_done" /> 

我想它是什麼如:

<input type="checkbox" name="tdl_task[]" data-ng-checked="list.default" id="tdl_task_" + {{ id }} + "" data-ng-class="{tdl_item: true}" data-ng-true-value="done" data-ng-false-value="not_done" /> 

但沒有加號。我想這樣做,而不是用JavaScript或PHP包裝它,或者在控制器中爲該屬性創建另一個完整的綁定。

+2

如果您使用的是角度,輸入應始終具有ng-model。我會考慮使用它,因爲如果你正確地使用ng-model,你通常不需要id屬性。 – mikel

+0

編輯它,這樣它就不會被切斷。 Stack昨晚沒有連接,所以當它再次連接時,我剛剛提交了所有內容,因爲我不想再次輸入。 – trysis

+0

米克爾是對的。如果你正在嘗試創建一個ID,那麼你可能會試圖做一些無偏見的事情。爲什麼你需要一個ID?它是否爲標籤'for'屬性? – checketts

回答

1

爲此,您必須創建一個指令。 id由html本身提供,您不能修改其行爲。因此,創建您自己的自定義指令,它將採用您的id並將此指定爲您的html元素的id。

To learn more about directive please visit

Details study on directives

+0

我不想修改它的行爲。它仍然是一個字符串,它只是一個包含變量的字符串。如果將其包裝在腳本標記中,則可以執行此操作。 – trysis

+0

@trysis謝謝...對於這個信息,我會嘗試在一些演示應用程序。 –

0

不知道這是在新的角度,因爲有人問,但我有這個確切的同樣的問題。事實證明,您可以讓Angular評估+通過在前面加上反斜槓()替換手柄,即id="tdl_task_\{{id}}"

+0

這個問題在近一年前被問到,它在Angular中並不是「新」(與Angular開始的時候相比)。雖然有趣的答案。 – trysis

+0

沒問題,所以雖然這對於某些情況非常有用,但它並不適用於我,因爲現在我得到的ID是td1_task_ \ 5,但\確實很煩人。任何提示? – Giszmo