指令如何从具有某些参数的控制器调用某个功能?通过指令调用控制器功能参数
我会给变量myVar的范围。$ apply(attrs.whattodo);;
HTML:
<div ng-app="component">
<div ng-controller="ctrl">
<span ng-repeat="i in myarray">
<span customattr whattodo="addVal">{{i}}</span>
</span>
</div>
控制器JS:
function ctrl($scope) {
$scope.myarray = [1];
$scope.addVal = function (value) {
$scope.myarray.push(value);
}
}
指令JS:
angular.module('component', []).directive('customattr', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var myVar = 5;
scope.$apply(attrs.whattodo);
}
};
});
非常感谢。最后一件事:我给的例子是一个愚蠢的例子。但是用我的“真实”例子:这个值是我用一些输入文本呈现的一系列字典。如果我把空的范围或范围,所有我的输入字段变空。任何想法为什么?谢谢 – JohnCastle 2013-04-21 21:34:26
老实说很难想象它,将你的真实世界变成笨蛋并不复杂吗?谢谢 – Maksym 2013-04-21 21:37:22
当然!这里是:http://plnkr.co/edit/mu9DM1dEyZ36UqVvw0DM 只需在指令中将范围设置为true,您将在其中看到“Toto”。或 – JohnCastle 2013-04-22 06:36:43