Javascript 如何在指令AngularJS之间传递对象?
如果我在指令A的链接函数中定义/实例化对象Javascript 如何在指令AngularJS之间传递对象?,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,如果我在指令A的链接函数中定义/实例化对象foo。从单独指令的链接函数访问同一对象的方法是什么?引用自: 控制器在预链接阶段之前实例化,并且 与其他指令共享(请参见require属性)。这允许 相互通信并增强彼此能力的指令 行为 这意味着要在同一对象或其子对象上的两个指令之间共享数据,您需要在指令A控制器中公开foo,并在指令B中注入require选项 指令如下所示: .directive("dirA", function () { return { controller
foo
。从单独指令的链接函数访问同一对象的方法是什么?引用自:
控制器在预链接阶段之前实例化,并且
与其他指令共享(请参见require属性)。这允许
相互通信并增强彼此能力的指令
行为
这意味着要在同一对象或其子对象上的两个指令之间共享数据,您需要在指令A控制器中公开foo,并在指令B中注入require
选项
指令如下所示:
.directive("dirA", function () {
return {
controller: function ($scope, $element, $attrs) {
},
link: function ($scope, $element, $attrs, controller) {
controller.foo = $attrs.dirA;
}
}
})
.directive("dirB", function () {
return {
link: function ($scope, $el, $attr, controller) {
$scope.shared = controller.foo;
},
require: "dirA"
}
})
.我没有足够的声誉来评论,所以我将在这里添加它 为有同样问题的人提供一些附加信息。这取决于指令的使用位置 ^前缀表示此指令在上搜索控制器 它的父级(没有^prefix,该指令将查找 控制器(仅在其自身元素上)