Как нажать на массив в ресурсе js-data
У меня есть объект User, который имеет много объектов маршрута.
Я загружаю их как:
return User.find(username).then(function(user) {
return User.loadRelations(user.username, ['routes'])
.then(function(user) {
return user;
});
});
Мой пользовательский объект выглядит так: https://puu.sh/maOdu/da3861544f.png
Я хочу иметь возможность перейти user.routes.push(newRoute), а затем сохранить пользователя. Но я не могу протолкнуть новый маршрут.
1 ответ
1) js-data <= 2.x не поддерживает глубокое сохранение отношений. Вам нужно будет добавить метод к вашему ресурсу, который отправит вложенную полезную нагрузку адаптеру.
2) Также, по умолчанию, поля, указанные localField
Опция в конфигурациях отношений - это средство доступа к свойствам, которое динамически извлекает связанные элементы из хранилища. Не имеет смысла выдвигать массив, возвращаемый средством доступа к свойству, поскольку каждый раз, когда вы обращаетесь к свойству, это другой массив.
Вы можете удалить средство доступа к собственности с помощью linkRelations: false
настройки, но тогда вам придется управлять ссылками вручную. В этом сценарии вы можете нажать на массив, но это не поможет с 1) выше.