我希望能够有类似的东西:
<tr property="value">
<td some-directive></td>
</tr>
然后在someDirective
:
link: function(scope, el, attrs) {
console.log(scope.property); // "value"
这是如何实现的?我遇到问题1)要求父指令和2)访问它的范围。这是我尝试过的(指令/属性名称是假的):
app.directive('property', function() {
transclude: true,
template: '<ng-transclude></ng-transclude>',
controller: function(){},
scope: {
property: '='
}
});
app.directive('someDirective', function() {
require: '^property'
transclude: true,
replace: true,
scope: {
someDirective: '='
}
templateUrl: 'my_template.html',
controller: function($scope) {
console.log($scope.property);
}
});
我不完全明白这是如何运作的。任何人都可以澄清确切的用法吗?
我试图解决的问题是如何避免跨子指令重复定义绑定属性。他们都应该指向控制器范围内的同一个对象,所以我想避免设置每次使用子指令,而只是在父指令上定义它们一次。这可能吗?在此先感谢:)
答案 0 :(得分:0)
您是否尝试使用$ scope。$ parent.property?
如果要在指令之间共享某些功能,则需要指令。 A
指令有一个控制器,其中包含您想要用于子指令的有用函数(让我们说B
指令)。