AngularJS: доступ к массиву в объекте $ resource

Это довольно легко. Если вы используете идентификаторы сгенерированных БД (например, IDENTITY в MS SQL), вам просто нужно добавить сущность к ObjectSet и SaveChanges по соответствующему ObjectContext. Id будет автоматически заполняться для вас:

using (var context = new MyContext())
{
  context.MyEntities.AddObject(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // Yes it's here
}

Структура объекта по умолчанию следует за каждым INSERT с SELECT SCOPE_IDENTITY(), когда используются автоматически сгенерированные Id s.

0
задан B. Scheer 13 July 2018 в 13:01
поделиться

2 ответа

Запрос является асинхронной, поэтому вам нужно обработать данные из запроса в своем обратном вызове через свойство $ prom .

Пример из AngularJs docs :

var User = $resource('/user/:userId', {userId: '@id'});
User.get({userId: 123}).$promise.then(function(user) {
  // here you can assign your fetched data to $scope
});
0
ответ дан m.belica 17 August 2018 в 12:47
поделиться
  • 1
    Большое спасибо! Мне действительно нужно было немного поработать с обещаниями ...! – B. Scheer 26 July 2018 в 14:25

Вам просто нужно изменить свой код на следующее:

$resource(url, {}, {
    query: {
        method: 'GET',
        transformResponse: function (data) { return data.items; },
        isArray: true
    }
}).query(function (result) {
    $scope.dbData = result;
});
0
ответ дан Luiz Carlos 17 August 2018 в 12:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: