我想通过标签上的参数将调用发送回指令,然后在指令内部适当时调用该方法。例如,当单击按钮时,调用父控制器上的方法。
我有一个简单的问题,它无法正常工作
html文件:
<body ng-controller="ParentController"> <h1> Method Arguments </h1> <h3> open console to view output</h3> <hello-world onLoadCallback="myCallback(arg1)"></hello-world> </body>
javascript文件:
var app = angular.module("app",[]); function ParentController($scope) { $scope.myCallback = function(var1){ console.log("myCallback", var1); } } app.directive('helloWorld', function() { return { restrict: 'AE', template: '<h3>Hello World!!</h3>', scope:{ onLoadCallback: '&' }, link: function(scope, element, attrs, dateTimeController) { console.log('linked directive, not calling callback') scope.onLoadCallback('wtf'); } }; });
棘手的棘手角度,在HTML中声明参数时,需要使用蛇形大小写而不是驼峰形匹配。
作品:
<hello-world on-load-callback="myCallback(arg1)"></hello-world>
不起作用:
<hello-world onLoadCallback="myCallback(arg1)"></hello-world>