【发布时间】:2015-04-05 14:31:42
【问题描述】:
在我的 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": []
}
这是我的 model-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);
});
};
}])
我收到以下错误:
错误:[$injector:unpr] 未知提供者:userProvider
如果我使用 'User' 而不是 'user' 它可以工作,但它不会使用我的扩展用户模型和指定的 ACL(为所有人阅读)
我了解到您可以指定 var myUser = app.model.user 以确保 LoopBack 使用扩展模型。但我不知道如何在 AngularJS 中做到这一点,因为我在控制器中将模型指定为函数参数..
你能告诉我如何在我的 AngularJS 应用程序中使用我的扩展用户模型吗?
提前致谢!!
【问题讨论】:
标签: angularjs loopbackjs strongloop