指令如何從具有某些參數的控制器調用某個功能?通過指令調用控制器功能參數
我會給變量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