0
我正在考虑将数据从控制器传递到指令模板。我怎样才能做到这一点?如何从控制器到指令模板进行通信
这里是我的控制器:
$scope.$on('itemSelectedEvent', function (event, args) {
$scope.displayOrgs.push(data.orgName);
})
而且指令:
directive('search', function ($timeout) {
return {
restrict: 'AEC',
scope: {
selecteditemslist: "=",
searchid: "@",
selecteditemsdisplay: "=",
searchobj: '@',
displayOrgs: '=displayOrgs'
},
link: function (scope, elem, attrs, index, searchobj,searchid) {
scope.$emit('itemSelectedEvent', {
selectedId:scope.selectedId,
sortOrder:index,
searchId : searchid
}
);
}
});
这displayOrgs
应该传给指令。它是如何得到未定义的?
<li class="tag" ng-repeat="list in displayOrgs track by $index" ng-class="{selected: $index==selectedIndex}" >
<span class="tag-label">{{list}}</span>
<span class="tag-cross pointer" ng-click="Delete($index,selecteditemslist[$index],list,searchobj)">x</span>
</li>
请帮帮我。提前致谢。
添加代码的指令 – eladcon
而不是做'$ emit'为什么不直接写'scope.DisplayOrgs'直接,因为已经有一个数据由'scope'属性绑定有 –
解决方案1:指令共享控制器的entiere范围// 解决方案2:指令有其自己的作用域(推荐),并检索所需的数据作为参数 – bviale