我有大约五个控制器从服务器获取数据。其中之一是:如何更改控制器中的值从指令到angularJS中获取新数据?
var vm = this;
//vm.paCountSummary.total = ;
var month = 1;
loadStatusCount();
function loadStatusCount() {
vm.summaryCount = [];
statusCountService.setMonth(month);
statusCountService.setType('e');
statusCountService.getStatusCount()
.then(function (report) {
applyCount(report);
});
}
function applyCount(report) {
vm.summaryCount = report[0];
}
vm.getTotal = function() {
var total = 0;
for (var i = 0; i < vm.summaryCount.length; i++) {
var count = vm.summaryCount[i].count;
total = total + count;
}
return total;
}
控制器的其余部分具有相同的代码,但唯一的区别是type
。
现在,我有一个显示该模板的指令。
monthlyReportApp.directive('statusCount', function() {
return {
//require: 'ngModel',
restrict: 'AE',
replace: false,
templateUrl: 'Scripts/app/views/templates/status-count-template.html',
link: linker
}
function linker(scope, el, attrs, ngModel) {
scope.title = attrs.title;
scope.class = attrs.class;
}
});
我用它在HTML这样的:
<div status-count data-class="fa fa-check-square-o" data-title="Prior Auth Count" class="panel panel-default" ng-controller="PACountCtrl as ctrl">
</div>
这不是一个真正的问题,但我只是希望尽量减少重复。这就是说,如果我只想用一个控制器来调用不同的值的type
的API,我怎么能从指令中做到这一点?因此,不同的div加载不同类型的数据,而不是创建5-6不同的控制器,基本上做同样的事情。
如果我没有理解好了,你的问题是关于代码的一部分,你没有显示? –
为什么你没有在服务中的代码,所以你可以注入到你的控制器和指令?难道你不能更通用地接收类型吗? –
@ Gonzalo.-我不知道这是为什么我提出这个问题。只是看着它,Pankaj Parkar给出的答案似乎就是我需要的答案。在我可以选择它作为答案之前,我必须对它进行测试。但总的来说,这就是我正在寻找的实现。我仍然在学Angular,所以还有很多我不知道该怎么做。传递变量就是其中之一。 – user1828605