【发布时间】:2016-10-08 11:27:24
【问题描述】:
在 angularjs 中使用指令时如何将范围(隔离范围)值更新应用到多个控制器中。
例如:
我在视图页面中有很多模板:
- 左侧菜单模板
- 顶部菜单模板
- 正确的内容模板。
上面的东西使用ui-router插件。 在这种情况下,正确的内容具有控制器名称是 ordersController.
左侧菜单模板:
<a ng-custom-click data="data" href="#/order"> Orders </a>
列表 ..等
app.controller('myapp', function($scope){
$scope.data = {
list : true,
details : false,
test : "rk controller"
};
}
指令代码:
app.directive('ngCustomClick', function() {
return {
restrict : 'A',
replace : false,
controller : 'ordersController',
scope : {
data : '='
},
link : function(scope, el, attrs) {
el.bind('click', function(e) {
scope.data = {
list : false,
details : true,
test : "abcd directive"
};
});
}
};
});
这里的ordercontroller与左侧菜单模板没有关系。
所以当点击链接意味着scope.data值需要在ordercontroller中改变。
【问题讨论】:
标签: javascript angularjs angularjs-directive scope