Компоненты: связка документа с локальным путем.
Closed this issue · 4 comments
В faq описано как в компоненте связать результат запроса с локальным путем.
Такая конструкция работает корректно
var q = model.root.query('project',{});
model.subscribe(q,function(){
model.ref('formdata',q);
});
Как сделать связь не с запросом, а с конкретным документом?
Аналогичная конструкция со scoped моделью отказывается работать
var scoped = model.root.at('project.986690fa-37f6-4e03-b97b-99ef04875d2b');
model.subscribe(scoped,function(){
model.ref('formdata',scoped);
});
Есть вариант решения - подписаться на документ через запрос, но с указанием массива идентификаторов (с одним элементом)
model.root.set('_ids',['986690fa-37f6-4e03-b97b-99ef04875d2b']);
var q = model.root.query('project','_ids') ;
...
и дальше уже обращаться к данным через индекс.
Однако, такой метод кажется мне некорректным.
Извиняюсь, но похоже что конструкция
var scoped = model.root.at('project.986690fa-37f6-4e03-b97b-99ef04875d2b');
model.subscribe(scoped,function(){
model.ref('formdata',scoped);
});
работает корректно. Видимо что-то у меня в кэше браузера сохранилось некорректно.
Можно, кстати, добавить этот вариант в раздел Компоненты в дополнение к связки запроса с локальным путем.
Выяснилось, что лучше использовать для этого не model.root.at а model.scope. В остальном, все так же.
Cпасибо!