在你的角度指令,你可以有訪問父範圍或隔離範圍。如果你打算使用父範圍,然後
angular.module('app')
.controller('mainController', function($scope){
$scope.ToChange = false;
})
.directive('myDirective', function(){
return {
restrict: 'E',
controller: function($scope){
//You can access $scope.ToChange here
}),
link : function($scope, $element, $attribute){
//You can access $scope.ToChange here
}
}
});
<div ng-controller="mainController">
<button ng-click="ToChange=true">
<my-directive ng-show="ToChange"></my-directive>
</div>
如果您打算爲您創造指令的分離範圍,
angular.module('app')
.controller('mainController', function($scope){
$scope.ToChange = false;
})
.directive('myDirective', function(){
return {
restrict: 'E',
scope : {
change : '='
},
controller: function($scope){
//Now you can access $scope.change from here
}),
link : function($scope, $element, $attribute){
//Now you can access $scope.change from here
}
}
});
<div ng-controller="mainController">
<button ng-click="ToChange=true">
<my-directive change="ToChange"></my-directive>
</div>
你可以在喲創建一個手錶烏爾指令,如果你想找出任何改變你的變量
$scope.$watch('change', function(oldValue, newValue) {
//Do something here;
});
瞭解更多關於角範圍here
雖然代碼只回答可以解決問題,但它始終是最好提供代碼勸 –
感謝的一些說明,會考慮下一次。如果我已經有這個範圍了,該怎麼辦?範圍:{ ngLead:'=', ngShowLead:'=', }, –
這個答案缺乏解釋,我很難看到人們怎麼能理解這個問題是如何解決的,特別是新手指導的人,請詳細說明 –