ディレクティブは、いくつかのパラメーターを使用してコントローラーから関数を呼び出すにはどうすればよいですか?
変数 myVar を scope.$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);
}
};
});