ng-blur上的角度打开$ uibModal会出现未知提供程序错误

时间:2017-02-17 15:38:52

标签: angularjs

我有一个输入字段

<input name="email" ng-model="vm.newOrder.email"
 required autofocus ng-blur="vm.getUser(vm.newOrder.email)"/>

我想在场模糊上调用一个函数,检查是否存在使用此电子邮件的用户。如果没有,我正试图打开一个对话框。

       function getUser(email) {
        if (vm.buyerForm.email.$valid && email !== '') {
            return siteAuthService.getUserByEmail(email, params.serverId)
                .then((respUser) => {
                       ...
                       //bla
                    }
                    else {
                        vm.isUserExists = false;
                       // createAccountDialog(email);
                        var modal = $uibModal.open({
                            template: require('../../dialogs/formOrderDialog/newSiteUserDialog.tmpl.html'),
                            controller: 'newSiteUserDialogController',
                            controllerAs: 'vm',
                            resolve: {
                                email: vm.newOrder.email,
                                phone: vm.newOrder.phone,
                                server: params.serverId
                            }

                        });
                        modal.result.then((usr => {
                            vm.isUserExists = usr.created;
                            if (usr.phone) {
                                vm.newOrder.phone = usr.phone;
                            }
                            //  if(usr.)
                        }));

                    }
                });
        }

但是在用户不存在的情况下,我在$ uibModal.open行上收到错误:

[$injector:unpr] Unknown provider: test@email.comProvider <- test@email.com

使用电子邮件字段值。我真的不知道这个错误是什么。

1 个答案:

答案 0 :(得分:0)

所以问题是解决方案对象:

 resolve: {
           user: function () {
           return {
                   email: vm.newOrder.email,
                   phone: vm.newOrder.phone,
                   server: params.serverId
                };
              }
         }