在我的角度应用程序中,我有一个警报服务,它处理警报列表。然后我有一个指令,它向页面呈现所有警报。我使用UI Bootstrap组件。
但是,警报的关闭按钮不会调用方法:
.directive('someAlert', ['alertService', function (alertService){
var templateString = '<uib-alert ng-repeat="alert in vm.alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg}}</uib-alert>';
return {
restrict: 'E',
template: templateString,
scope: true,
controller: function(){
var vm = this;
vm.alerts = alertService.get();
vm.closeAlert = function (index) {
console.log('closeAlert within directive controller called');
alertService.closeAlertIdx(index);
}
},
controllerAs: 'vm',
replace: true
}
}]);
答案 0 :(得分:0)
在templateString
close="vm.closeAlert($index)"
答案 1 :(得分:0)
我直接向alert-instance添加了一个close方法。然后alert.close()按预期工作。找到了很好的解决方案:alertservice和稍微modified