将控制器用作 vm 时将数据传递给 angular-ui 模态
passing data to angular-ui modal when using controller as vm
我需要将一个对象传递给模态控制器,我尝试了不同的方法,这是我的最终代码,对象已传递但我在控制台中出现大错误
Error: [$injector:unpr]
这是我的代码
vm.openAttendeesModal = function (meeting) {
var modalInstance = $modal.open({
templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
controller: 'attendeeController',
resolve: {
meetingSelected: function () { return meeting }
}
});
}
这是我的模态控制器
angular
.module('App')
.controller('attendeeController', attendeeController);
attendeeController.$inject = ['meetingSelected', '$scope', '$modal', 'meetingService'];
function attendeeController(meetingSelected,$scope, $modalInstance, meetingService) {
/* jshint validthis:true */
var vm = this;
vm.meetingSelected = meetingSelected;
这里是完整的错误
angular.js:12520 Error: [$injector:unpr] http://errors.angularjs.org/1.4.8/$injector/unpr?p0=meetingSelectedProvider%20%3C-%20meetingSelected%20%3C-%20attendeeController
at Error (native)
有趣的是一切正常,即使我可以访问传递的对象,但我只是觉得有什么地方不对劲,因为那个严重的错误。
有什么建议吗?
谢谢
试试这个
var modalInstance = $modal.open({
templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
controller: 'attendeeController as ctrl',
resolve: {
meetingSelected: function () { return meeting }
}
});
或添加controllerAs: "ctrl"
编辑:
如果您在 AttendeesModal.cshtml
中添加 "attendeeController as ctrl"
,请将其删除。
我需要将一个对象传递给模态控制器,我尝试了不同的方法,这是我的最终代码,对象已传递但我在控制台中出现大错误
Error: [$injector:unpr]
这是我的代码
vm.openAttendeesModal = function (meeting) {
var modalInstance = $modal.open({
templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
controller: 'attendeeController',
resolve: {
meetingSelected: function () { return meeting }
}
});
}
这是我的模态控制器
angular
.module('App')
.controller('attendeeController', attendeeController);
attendeeController.$inject = ['meetingSelected', '$scope', '$modal', 'meetingService'];
function attendeeController(meetingSelected,$scope, $modalInstance, meetingService) {
/* jshint validthis:true */
var vm = this;
vm.meetingSelected = meetingSelected;
这里是完整的错误
angular.js:12520 Error: [$injector:unpr] http://errors.angularjs.org/1.4.8/$injector/unpr?p0=meetingSelectedProvider%20%3C-%20meetingSelected%20%3C-%20attendeeController
at Error (native)
有趣的是一切正常,即使我可以访问传递的对象,但我只是觉得有什么地方不对劲,因为那个严重的错误。
有什么建议吗? 谢谢
试试这个
var modalInstance = $modal.open({
templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
controller: 'attendeeController as ctrl',
resolve: {
meetingSelected: function () { return meeting }
}
});
或添加controllerAs: "ctrl"
编辑:
如果您在 AttendeesModal.cshtml
中添加 "attendeeController as ctrl"
,请将其删除。