angularjs – 在回调Angular js指令中获取返回值
发布时间:2020-12-17 07:34:22 所属栏目:安全 来源:网络整理
导读:我在 Angularjs中创建了一个指令,我需要使用callBackMethod,这样我就可以调用Controller的Function. 控制器的函数被调用.但是控制器的函数正在返回一些值.我想在回调函数中获取该值.如何实现? 以下是我的指令代码 .directive('abcOption',function($compile
我在
Angularjs中创建了一个指令,我需要使用callBackMethod,这样我就可以调用Controller的Function.
控制器的函数被调用.但是控制器的函数正在返回一些值.我想在回调函数中获取该值.如何实现? 以下是我的指令代码 .directive('abcOption',function($compile) { return { restrict : 'A',template : '<div class="filter-content"></div>',replace : true,scope : { callBackMethod:'&getDisplayName' },link: function(scope,element,attrs) { scope.getDataName =function(dataId) { scope.callBackMethod(dataId); }; } }; }); Code下面是Controller功能 $scope.getDisplayName = function(columnName) { return 'abc'; }; 这是代码的小片段.控制器函数被调用,但我没有在指令函数中获得返回值.如果我记录scope.callBackMethod(dataId),我在控制台日志中未定义; 如何在Directive中使用callBackMethod获取返回值?
在具有隔离范围的指令内调用控制器的函数时,需要传递一个对象:
HTML <div ng-app="myApp" ng-controller="ctrl"> <div abc-option get-display-name="getDisplayName(columnName)"></div> </div> JS var app = angular.module('myApp',[]); function ctrl($scope){ $scope.getDisplayName = function(columnName) { return 'abc'; }; } app.directive('abcOption',function($compile,$timeout) { return { restrict : 'A',template : '<div class="filter-content">abc</div>',scope : { callBackMethod:'&getDisplayName' },attrs){ /* send an object to the function */ console.log(scope.callBackMethod({columnName:"hurray"})); } }; }); Fiddle (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |