在控制器中访问 AngularJs 指令变量
Access AngularJs directive variable inside controller
我对 Angularjs 有点陌生。我想要的是在“myController”控制器中访问“$scope.myVar”变量。如果您能提供解决方案,那将是很大的帮助。
angular.module('myDirective', [])
.controller('myController', ['$scope', function ($scope) {
}])
.directive('myDirective', function () {
return {
scope: {
myVar: '='
},
controller: function ($scope) {
$scope.myVar = 'xyz';
alert($scope.myVar);
}
};
});
<html lang="en-US">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script type="text/javascript" src="newjavascript.js"></script>
<body ng-app="myDirective">
<div ng-controller="myController">
<my-directive></my-directive>>
</div>
</body>
</html>
您只需在控制器中创建一个 myVar
变量,然后使用 my-var
属性将其传递给指令。
在您的 myController
中,将 myVar
定义为
$scope.myVar= "Hello"
我是你的DOM,将它作为
传递给指令
<my-directive my-var="myVar"></my-directive>
由于您使用的是双向绑定,因此指令对 myVar
所做的任何更改都可以在您的控制器中使用。
您可以在 myVar
上添加 watch
以跟踪更改。
angular.module('myDirective', [])
.controller('myController', ['$scope', function ($scope) {
$scope.show = function() {
alert($scope.myVar);
};
}])
.directive('myDirective', function () {
return {
scope: {
myVar: '='
},
controller: function ($scope) {
$scope.myVar = 'xyz';
alert($scope.myVar);
$scope.$parent.myVar = $scope.myVar; // here you can access the controller scope by using $parent
}
};
});
我对 Angularjs 有点陌生。我想要的是在“myController”控制器中访问“$scope.myVar”变量。如果您能提供解决方案,那将是很大的帮助。
angular.module('myDirective', [])
.controller('myController', ['$scope', function ($scope) {
}])
.directive('myDirective', function () {
return {
scope: {
myVar: '='
},
controller: function ($scope) {
$scope.myVar = 'xyz';
alert($scope.myVar);
}
};
});
<html lang="en-US">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script type="text/javascript" src="newjavascript.js"></script>
<body ng-app="myDirective">
<div ng-controller="myController">
<my-directive></my-directive>>
</div>
</body>
</html>
您只需在控制器中创建一个 myVar
变量,然后使用 my-var
属性将其传递给指令。
在您的 myController
中,将 myVar
定义为
$scope.myVar= "Hello"
我是你的DOM,将它作为
传递给指令<my-directive my-var="myVar"></my-directive>
由于您使用的是双向绑定,因此指令对 myVar
所做的任何更改都可以在您的控制器中使用。
您可以在 myVar
上添加 watch
以跟踪更改。
angular.module('myDirective', [])
.controller('myController', ['$scope', function ($scope) {
$scope.show = function() {
alert($scope.myVar);
};
}])
.directive('myDirective', function () {
return {
scope: {
myVar: '='
},
controller: function ($scope) {
$scope.myVar = 'xyz';
alert($scope.myVar);
$scope.$parent.myVar = $scope.myVar; // here you can access the controller scope by using $parent
}
};
});