У меня есть служба, которая добавляет новую запись в базу данных.
return $http.post('/models/CreateModel', userObj)
.then(function (res)
{
// Return the new model_id
return res.data;
},
function (err)
{
// console.log("THERE WAS AN ERROR");
});
Значение в res.data является новым номером первичного ключа. Это возвращается контроллеру следующим образом:
$scope.newID = ModelService.addModel(xMdl);
Когда я распечатываю $ scope.newID с помощью console.log, я вижу, что он содержит объект, а не значение. В моей консоли объект выглядит следующим образом:
- d {$$state: Object}
- $$state: Object
status:1
value: 232
- __proto__: Object
- __proto__: Object
Как мне получить доступ к значению 232, так как мне нужно обновить идентификатор в угловой модели?
Вы возвращаете промисс в свой метод
return $http.post('/models/CreateModel', userObj)
в этом случае вам придется переписать его следующим образом:
//your controller
save = function(){
var self=this;
this.service.createModel(this.$scope.mmodel)
.then(function (res)
{
self.$scope.neId = res.data;
},
function (err)
{
// console.log("THERE WAS AN ERROR");
});
}
//service
createModel = function(model){
return $http.post('/models/CreateModel', userObj);
};
$http.post
возвращает ... для доступа к обещанному значению вам нужно сделать.then(function(data){$scope.newID = data})
.