Angularjs 指向控制器的角度指令
我想我的语法是正确的,所以我不明白这个错误是从哪里来的 TypeError:undefined不是函数 此错误发生在指令第13行:var refresh=scope.reloadFunction 我没有正确地指向getCampaignData吗 指令:Angularjs 指向控制器的角度指令,angularjs,Angularjs,我想我的语法是正确的,所以我不明白这个错误是从哪里来的 TypeError:undefined不是函数 此错误发生在指令第13行:var refresh=scope.reloadFunction 我没有正确地指向getCampaignData吗 指令: 1 angular.module('sysomos.ads').directive('sysReportResubmit', ['$api', '$alerts', 2 function ($api, $alerts) { 3
1 angular.module('sysomos.ads').directive('sysReportResubmit', ['$api', '$alerts',
2 function ($api, $alerts) {
3 return {
4 restrict: 'A',
5 scope: {
6 reloadFunction: '&'
7 },
8 link: function (scope, element) {
9 element.on('click', function (e) {
10 $api.put('', 'myAPICall').
11 success(function (data, status, headers, config) {
12 scope.results = data;
13 var refresh = scope.reloadFunction();
14 refresh.then(function () {**
15 $(target).removeClass('panel-loading');
16 }
17 });
18 }).
19 }
20 }
21 });
22 };
23 }
控制器
1 angular.module('sysomos.ads').controller('AudienceDetailsController', AudienceDetailsController);
3 AudienceDetailsController.$inject = ['$scope', '$api', '$http','$state', '$q', '$filter', '$modal', 'AudienceListsService'];
3 function AudienceDetailsController($scope, $api, $http, $state, $q, $filter, $modal, AudienceListsService) {
4 $scope.**getCampaignData** = function(){
5 // reload page data
6 }
7 }
HTML模板
1 <section id="details" ng-controller="AudienceDetailsController">
2 <a
3 class="tabflowButton" reload-function="getCampaignData" sys-report-resubmit>
4 Resubmit
5 </a>
6 </section>
这里的问题是&引用了一个表达式 传入函数名需要大括号:
<section id="details" ng-controller="AudienceDetailsController">
<a class="tabflowButton" reload-function="getCampaignData()" sys-report-resubmit>Resubmit</a>
</section>
这段视频确实有助于理解以下范围:
对,我做了更改,然后得到TypeError:无法读取未定义的属性'then'。现在它无法识别重载函数是否包含任何内容。您正在调用getCampaignData函数返回的对象。确保它正在返回一个对象,并且包含必要的功能。