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