当我也在使用指令控制器时,从指令调用控制器方法。

call controller method from directive when I am using controller of directive also.

我有一个指令,现在我想将相同的数据发送到其他控制器的方法,而这个控制器完全独立于这个指令。这个另一个控制器实际上位于当前目录之外。

如何在 angularjs 中执行此操作?

创建一个 angular 服务并注入两个控制器。从控制器 1 更新该服务中的变量并在控制器 2 中检索。类似这样的东西 -

myApp.factory('myFactory', function () {
    // declare and store the value in a local variable here
    var prop = '';

    return {
        getProperty: function () {
            return prop;
        },
        setProperty: function(value) {
            prop = value;
        }
    };
});

function Ctrl1($scope, myFactory) {
    myFactory.setProperty('myValue');
}

function Ctrl2($scope, myFactory) {
    val = myFactory.getProperty();
}

angular 服务是单例,因此它在整个代码中保持状态。

在 angularjs 中有一个关于指令的想法 scope.It 让您可以通过 3 种方式使用指令的数据。

1) 字符串@

2) 双向 =

3) 函数式&

我想你听说过 these.This link 也许可以帮助你。 https://docs.angularjs.org/api/ng/service/$编译#指令定义对象