gpt4 book ai didi

angularjs - 两个指令(未嵌套在 HTML 中)如何相互通信?

转载 作者:行者123 更新时间:2023-12-04 14:02:15 26 4
gpt4 key购买 nike

我对 angularJS 很陌生,我有一个问题(希望它不是那么愚蠢):

我有 2 个指令(不是嵌套的):

<div directive1></div>
<div directive2></div>

现在我希望指令与 Controller 相互通信(我在指令 1 中定义了一个“ Controller :”):
myApp
.directive('directive2', function () {
return {
require: "^directive1",

link: function (scope, element, attrs, directive1Ctrl) {
directive1Ctrl.doSomething();
}
};
});

但是 我总是得到“找不到 Controller ”异常..(我不太确定 ^ 因为它仅用于通过 parent 向上搜索)。

如果没有嵌套,是否不能使用指令 2 中指令 1 中定义的 Controller ?
我是否必须使用一个“单独的” Controller ,这两个 Controller 都需要相互配合?

最佳答案

Do i have to use a 'seperate' Controller which both require to work with each other?



这很接近。在应用程序的不同部分(两个 Controller 、两个指令、一个指令和一个 Controller 等)之间共享数据和功能的标准方法是在服务中提供该数据或功能。然后可以将该服务注入(inject)到任何需要它的应用程序组件中。

在您的情况下,您可以创建一个提供 doSomething 的服务。函数并将其注入(inject) directive1directive2 .

关于angularjs - 两个指令(未嵌套在 HTML 中)如何相互通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com