我有一个包含另一个指令的指令。
child指令在我的应用程序中被广泛使用,而父指令只在一个地方使用。
我想在子指令的input
元素中添加一个绑定。但是,仅当指令放在父指令中时才需要此绑定,而不是将其作为独立指令使用。
现在我想知道最好的方法。
我考虑过循环父指令的子节点,直到我到达input
,然后绑定到它。然而,这将导致像这样一个混乱,神奇的过程:
$element.find('suggestion').childNodes[0].childNodes[1] // ... and so on
如果我试图直接找到输入,我会得到一个空对象。
这是要走的路还是我不知道更好的方法?
答案 0 :(得分:0)
这样做的一般方法是使用父指令的控制器并添加建议'到范围。 Angular通过ng-model ='建议'来绑定您的孩子指令。
您的父指令将是这样的:
angular.module('yourappname').directive('parentdirective',function(){
return {
.....
controller: 'ParentCtrl',
.....
}
}
你的控制器:
angular.module('controller', function($scope){
$scope.suggestion // note that setting primitives directly on the scope is not recommended
}
您的孩子指示:
<input ... ng-model="suggestion" />