在AngularJS,似乎做{{value}}
裏面的東西像value=""
或class=""
工作正常,但做這樣的事情:如何讓AngularJS在自定義屬性中呈現變量?
$scope.bar = "1234";
<my-directive foo="{{bar}}" />
導致串{{bar}}
要傳遞給myDirective
而不是字符串值bar
。
我該如何強制通過bar
的值而不是{{bar}}
?
在AngularJS,似乎做{{value}}
裏面的東西像value=""
或class=""
工作正常,但做這樣的事情:如何讓AngularJS在自定義屬性中呈現變量?
$scope.bar = "1234";
<my-directive foo="{{bar}}" />
導致串{{bar}}
要傳遞給myDirective
而不是字符串值bar
。
我該如何強制通過bar
的值而不是{{bar}}
?
如果不指定該指令的隔離範圍,你並不需要傳遞一個範圍變量 - 該指令將剛剛得到的繼承範圍,你可以參考一下:
scope.bar
如果您希望隔離指令作用域並將該變量作爲一個屬性傳遞,您將在指令初始化中執行該操作。
scope: { foo:'=localFoo' }
然後在指令可以引用「localFoo」作爲該評價結果{{欄}}。
如果我只是從指令中執行'scope.bar',那麼指令將與變量名'bar'緊密結合。如果我想將變量更改爲別的,該指令將無法工作。我只是希望能夠將字符串的值傳遞給指令。 –
然後,您將不得不隔離指令作用域並將其作爲屬性傳遞。在指令中使用範圍對象並對其執行雙向綁定。 – BoxerBucks
不,因爲在某些情況下,我不會有一個變量傳遞給指令,我只需要輸入一個字符串。在其他情況下,我將有一個變量。所以在兩種情況下使它工作的唯一方法是傳入變量的字符串值。 –
只需使用'' –
zsong
請考慮查看https://github.com/angular/angular.js/wiki/Understanding-Directives –
@sza然後我必須在指令中創建一個隔離範圍,對吧?所以這不是一個選項。 –