在控制器内部访问AngularJs指令变量 [英] Access AngularJs directive variable inside controller
问题描述
我对Angularjs有点陌生.我想要的是访问" myController "控制器中的" $ scope.myVar "变量.如果您可以提供解决方案,那将是很大的帮助.
I'm little bit new to Angularjs. What I want is access "$scope.myVar" variable inside 'myController' controller. It would be great help if you can provide a solution.
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
属性将其传递给指令.
You just create a myVar
variable in your controller and pass it to the directive using my-var
attribute.
在您的myController
中,将myVar
定义为
$scope.myVar= "Hello"
我是您的DOM,将其作为传递给指令
I your DOM, pass it to the directive as
<my-directive my-var="myVar"></my-directive>
由于使用的是双向绑定,因此该指令对myVar
所做的任何更改都可以在控制器中使用.
Since you are using two way binding, any changes made to myVar
by the directive are available in your controller.
您可以在myVar
上放置watch
来跟踪更改.
You can put a watch
on myVar
to track the changes.
这篇关于在控制器内部访问AngularJs指令变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!