這裏有兩個想法:
1)指令可以共享與視圖的控制器範圍。因此,您可以在您的控制器中實現父/子關係,並使指令反映控制器的狀態。這種方法有幾個缺點:它嚴格地將您的指令綁定到控制器,並且很難在同一頁面上多次使用相同的指令。這些downers是重用的一大障礙!
2)指令可以利用html模板,它允許很多表達。因此,或許父/子關係可以在一個指令中表示,像這樣的:
myapp.directive('mydirective', function() {
return {
restrict: 'E',
replace: true,
scope: {
parentData: '@',
childData: '@'
},
template:
'<div ng-model={{parentData}}>' +
'<div ng-model={{childData}}>' +
'</div>' +
'</div>',
link: function (scope, element, attrs) {
//other behaviors go here
}
}
});
上面的指令中的每個實例都可以有其獨特的父母和孩子通過分離範圍結合,因此它可以跨多個使用控制器/視圖。上面的模板可以像你需要的那樣複雜。如果模板比這更復雜,最好的做法是從一個單獨的html文件中加載它。
希望這會有所幫助。
這是不是很清楚你要在這裏做什麼。你能發佈一些消息嗎? – 2014-10-07 20:34:49