从 Angular 中的子指令访问控制器作用域
Accessing Controller Scope from child Directive in Angular
我想在不使用 $parent 的情况下访问控制器范围。从我读到的所有内容来看,我认为我可以按如下方式将它传递到隔离范围:
<body ng-app="app" ng-controller="myController">
<h1>
{{message}}
</h1>
<mydir></mydir>
angular.module('app', [])
.controller('myController', function($scope){
$scope.message = "Hello World";
})
.directive('mydir', function(){
return {
restrict: "E",
scope: {
message: "=",
},
controller: function($scope){
$scope.goodbye = function(){
$scope.message = "Goodbye World";
}
},
template: "<button ng-click='goodbye()'>Say Goodbye</button>"
}
})
但是,我无法获得更新范围 message
属性 的指令。 Plnkr link.
由于独立范围值可以使用 attribute
传递,因此您需要在指令元素上具有 message
属性,该元素将具有范围变量名称。
<mydir message="message"></mydir>
我想在不使用 $parent 的情况下访问控制器范围。从我读到的所有内容来看,我认为我可以按如下方式将它传递到隔离范围:
<body ng-app="app" ng-controller="myController">
<h1>
{{message}}
</h1>
<mydir></mydir>
angular.module('app', [])
.controller('myController', function($scope){
$scope.message = "Hello World";
})
.directive('mydir', function(){
return {
restrict: "E",
scope: {
message: "=",
},
controller: function($scope){
$scope.goodbye = function(){
$scope.message = "Goodbye World";
}
},
template: "<button ng-click='goodbye()'>Say Goodbye</button>"
}
})
但是,我无法获得更新范围 message
属性 的指令。 Plnkr link.
由于独立范围值可以使用 attribute
传递,因此您需要在指令元素上具有 message
属性,该元素将具有范围变量名称。
<mydir message="message"></mydir>