简体   繁体   English

将控制器用作VM时将数据传递到angular-ui模态

[英]passing data to angular-ui modal when using controller as vm

i need to pass an object to modal controller , i have tried different approach , here is my final code , the object is passed but i get big error in console 我需要将一个对象传递给模态控制器,我尝试了不同的方法,这是我的最终代码,该对象通过了,但是在控制台中出现了很大的错误

Error: [$injector:unpr] 

here is my code 这是我的代码

vm.openAttendeesModal = function (meeting) {

                var modalInstance = $modal.open({
                    templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
                    controller: 'attendeeController',

                    resolve: {
                        meetingSelected: function () { return meeting }
                    }
                });
            }

and here is my modal controller 这是我的模态控制器

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;

and here is complete error 这是完整的错误

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)

the funny part is everything is working , even i have access to passed object , but i just feel something is wrong because of that fat error. 有趣的是,即使我可以访问传递的对象,也可以正常工作,但由于该严重错误,我只是觉得有些问题。

any suggestion ? 有什么建议吗? thanks 谢谢

try this 尝试这个

 var modalInstance = $modal.open({
                templateUrl: '/App/Main/views/meetings/AttendeesModal.cshtml',
                controller: 'attendeeController as ctrl',

                resolve: {
                    meetingSelected: function () { return meeting }
                }
            });

or add controllerAs: "ctrl" 或添加controllerAs: "ctrl"

Edit: 编辑:

if you add "attendeeController as ctrl" in AttendeesModal.cshtml remove it. 如果您在AttendeesModal.cshtml中添加"attendeeController as ctrl" ,则将其删除。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM