我正在構建一個指令,可以在不同的控制器中使用,我希望能夠將指令綁定到我的$scope
的特定屬性。AngularJS:指示指令的範圍
我願做這樣的事情:
<div ng-app="myapp">
<div ng-controller="myController">
<my-directive-wrapper ng-model="mymodel">
<my-directive-inner ng-repeat="item in items" />
</my-directive-wrapper>
</div>
</div>
在這種模式下:
$scope.mymodel = {
name : "Transclude test",
items : [
{ title : "test1" },
{ title : "test2" },
{ title : "test3" }
]
};
所以該指令myDirectiveWrapper
得到$scope.mymodel
的範圍,而不是其他。然後我可以將指令放兩遍,每個指向一個不同的屬性。
我這兒有問題的演示項目:http://jsfiddle.net/vtortola/P8JMm/3/
而同樣的演示正常工作(不限制範圍)位置:http://jsfiddle.net/vtortola/P8JMm
的問題是,如何在使用說明我的指令,我想使用我的$scope
的特定屬性作爲我的指令的範圍。應該可以將該指令綁定到相同的$scope
中的任意屬性。
乾杯。
你看過傳遞給鏈接函數參數的'$ transclude'函數嗎?它允許你傳遞一個對象作爲被轉義部分的作用域和一個DOM替換函數。結帳這個SO線程http://stackoverflow.com/questions/13183005/what-exactly-do-you-do-with-the-transclude-function-and-the-clone-linking-functi – javaCity
這是如何http:///jsfiddle.net/P8JMm/4/ –
@NidhishKrishnan變量名沒有被綁定,它應該在屏幕上顯示「Transclude test」。該指令使用$ scope,而不僅僅是它的一部分。好主意,但。 – vtortola