【发布时间】:2013-05-18 00:06:34
【问题描述】:
我对 angularJS 很陌生,我有一个问题(希望不是那么愚蠢):
我有 2 个指令(不是嵌套的):
<div directive1></div>
<div directive2></div>
现在我希望指令与控制器相互通信(我在指令 1 中定义了一个“控制器:”):
myApp
.directive('directive2', function () {
return {
require: "^directive1",
link: function (scope, element, attrs, directive1Ctrl) {
directive1Ctrl.doSomething();
}
};
});
但是我总是得到“找不到控制器”异常..(我不确定 ^ 原因,它仅用于向上搜索父母)。
如果没有嵌套,是否不能使用指令 2 中指令 1 中定义的控制器?
我是否必须使用一个“单独的”控制器,这两个控制器都需要相互配合?
【问题讨论】:
-
是什么阻止你拥有多个相同的指令?即 2 个指令 1 和 1 个指令 2 谁与谁交谈?
-
它是我想要实现的一个小功能......我需要 2 个不同的组件相互通信,它们不是嵌套的
-
有什么原因不能将同一个变量绑定到两者并观察它吗?
-
使用您的代码,directive1 应该定义一个控制器,这将在 "this" 上公开一个方法 "doSomething"。参考::sitepoint.com/practical-guide-angularjs-directives-part-two
标签: angularjs angularjs-directive