Javascript 将数据从主html页面控制器发送到指令控制器

Javascript 将数据从主html页面控制器发送到指令控制器,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我试图在控制器和指令之间进行通信。我研究了一些博客并搜索了stackoverflow,关于这些主题有一些很棒的概念。但它们都是针对具体情况的问题。我试图用他们的方式解决我的问题,但我没有找到运气 我的问题是。。我需要向指令发送一些数组。数组在主html文件的控制器中定义。html页面也有一个指令。此外,该指令还有自己的控制器来执行某些工作。我需要将一个数组发送到该指令控制器进行处理,该数组必须双向绑定,以便一方的任何更改都可以反映在另一方。在绑定控制器变量的指令范围内使用= app.direct

我试图在控制器和指令之间进行通信。我研究了一些博客并搜索了stackoverflow,关于这些主题有一些很棒的概念。但它们都是针对具体情况的问题。我试图用他们的方式解决我的问题,但我没有找到运气


我的问题是。。我需要向指令发送一些数组。数组在主html文件的控制器中定义。html页面也有一个指令。此外,该指令还有自己的控制器来执行某些工作。我需要将一个数组发送到该指令控制器进行处理,该数组必须双向绑定,以便一方的任何更改都可以反映在另一方。

在绑定控制器变量的指令范围内使用=

app.directive("myDir", function(){
  return{
    scope : {
      myArr : "="
    },
    controller : function($scope){

    },
    link : function(scope, ele, attr){
      scope.myArr.push("C");
    }
  }
});

请看

我最近在处理这种情况,并找到了一种解决方法。 您可以使用此过程从控制器发送数据并在指令中对其进行处理。 首先在主页中创建一个控制器,并定义一些您想要的数组

app.controller("ctrl", function($scope) {
    $scope.scope = $scope; //this is to transfer the current scope to the directive
    $scope.array = [{
        "a": "vfdxvf",
        "b": "sdc"
    }, {
        "a": "vfdxvf",
        "b": "sdc"
    }, {
        "a": "vfdxvf",
        "b": "sdc"
    }, {
        "a": "vfdxvf",
        "b": "sdc"
    }];
});
在上面的代码中,$scope.scope=$scope用于创建控制器作用域的引用

然后像这样定义指令。它将绑定您想要的所有值。任何一方阵列的任何变化都会反映在另一方

这是一个伪代码

app.directive("someDirective", function() {
    return {
        restrict: "EA",
        scope {
            array: "=", // two way binding of array..
            scope: '=' // collecting the scope of the controller it came from
        },
        templateUrl: "./templates/test.html",
        controller: function($scope) {
            $scope.newArray = $scope.scope.array;
            //do useful coding with the array... 
        }
    }
});
对于html主页,只需这样写

<some-directive scope="scope" array="array"></some-directive>


调用指令时使用属性您可以在互联网上发布您的代码或任何发现吗?我建议您阅读这篇博文。我尝试使用工厂和服务。但是没有结果。谢谢@katmanco,我会查出来的。。