У меня возникли некоторые проблемы при использовании расширенной пользовательской модели в приложении 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 (READ для всех)
Я читал, что вы можете указать var myUser = app.model.user
, чтобы убедиться, что LoopBack использует расширенную модель. но я не знаю, как это сделать в AngularJS, поскольку я указываю модель как функциональный параметр в контроллере.
Вы можете рассказать мне, как использовать мою расширенную модель пользователя в моем приложении AngularJS?
заранее!
спасибо. ваш ответ LoopBack-related? я действительно не знаю, как интерпретировать ваш ответ в контексте LoopBack. если я добавляю «Пользователь» в функцию контроллера, он работает, потому что LoopBack делает это возможным из коробки.он просто не работает с моей расширенной пользовательской моделью пользователя – uNki
Мой ответ связан с угловыми. В сообщении об ошибке сообщается, что он не может найти службу для ввода в ваш контроллер. – user3890194
да, я понимаю это, но мне нужно решение, которое работает с LoopBack, потому что здесь происходит вся бизнес-логика и crud-stuff. Мне не нужно писать службы и т. д., чтобы общаться с бэкэнд. это то, что делает LoopBack. Должно быть простое решение использовать расширенную модель пользователя – uNki