如何将指令的值传递给控制器或将指令中的变量传递给控制器。谢谢。
这是我的代码。它具有$ observe函数
下的变量.directive("groupId", function () {
return {
replace: true,
link: function(scope, element, attrs) {
attrs.$observe('groupId', function(value) {
myVal = value;
});
}
};
})
答案 0 :(得分:1)
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
</head>
<body ng-controller="MainCtrl">
<table>
<!--* groupIdValue value is passing from controller to directive
* and my-val is returned back from directive to controller
* that value is available to controller from ControllerVar variable *-->
<tr group-id="{{groupIdValue}}" my-val="ControllerVar"></tr>
</table>
controller variable: {{ControllerVar}}
</body>
<script>
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.groupIdValue = '123345';
}).directive("groupId", function() {
return {
replace: true,
restrict: 'A',
scope: {
myVal: "=myVal"
},
link: function(scope, element, attrs) {
attrs.$observe('groupId', function(value) {
scope.myVal = value;
});
}
};
})
</script>
</html>
您可以在控件中将ControllerVar
用作$scope.ControllerVar
。