我有一个输入字段
<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
使用电子邮件字段值。我真的不知道这个错误是什么。
答案 0 :(得分:0)
所以问题是解决方案对象:
resolve: {
user: function () {
return {
email: vm.newOrder.email,
phone: vm.newOrder.phone,
server: params.serverId
};
}
}