将控制器用作 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",请将其删除。