我在AngularJS应用程序中使用扩展用户模型时遇到了一些问题。LoopBack AngularJS扩展用户模型
这里是我的user.json:
{
"name": "user",
"base": "User",
"strict": false,
"idInjection": true,
"properties": {
"clientType": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {},
"acls": [
{
"accessType": "READ",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW"
}
],
"methods": []
}
这里是我的模型config.json:
{
"_meta": {
"sources": [
"loopback/common/models",
"loopback/server/models",
"../common/models",
"./models"
]
},
"User": {
"dataSource": "mongo"
},
"AccessToken": {
"dataSource": "mongo",
"public": false
},
"ACL": {
"dataSource": "mongo",
"public": false
},
"RoleMapping": {
"dataSource": "mongo",
"public": false
},
"Role": {
"dataSource": "mongo",
"public": false
},
"Store": {
"dataSource": "mongo",
"public": true
},
"user": {
"dataSource": "mongo",
"public": true
}
}
这是我UserCtrl.js
angular.module('app.controllers.user', [])
.controller('UserCtrl', ['user', function (user) {
var vm = this;
vm.addUser = function() {
user.create({
firstName: vm.firstName,
lastName: vm.lastName,
email: vm.email,
password: vm.password,
userType: 'customer'
})
.$promise
.then(function (c) {
console.log('added user: ' + c.email);
});
};
}])
我是得到以下错误:
错误:[$注射器:unpr]未知提供商:userProvider < - 用户< - UserCtrl
如果我使用 '用户' 而不是 '用户' 它的工作原理,但它不使用我的扩展用户模型与指定的ACL(读所有人)
我读过,您可以指定var myUser = app.model.user
以确保LoopBack使用扩展模型。但我不知道如何在AngularJS中做到这一点,因为我在控制器中指定模型作为函数参数。
你能告诉我如何在我的AngularJS应用程序中使用我的扩展用户模型吗?
在此先感谢!
感谢您的详细信息。你的回答是LoopBack相关的吗?我真的不知道如何在LoopBack上下文中解释你的答案。如果我在控制器功能中注入'用户',它会起作用,因为LoopBack使得开箱即可。它只是不适用于我的扩展用户模型'用户' – uNki 2015-04-05 14:49:21
我的答案是与angularjs相关的。该错误消息告诉你它找不到要注入到控制器的服务。 – user3890194 2015-04-05 14:53:15
是的,我明白,但我需要一个与LoopBack一起工作的解决方案,因为这是所有业务逻辑和糟糕事情发生的地方。我不需要编写服务等来与后端进行通信。这就是LoopBack的功能。必须有一个简单的解决方案来使用扩展的用户模型 – uNki 2015-04-05 14:54:51