У меня есть модель виджета, которая имеет неглубокие отношения родитель-потомок. Данный виджет может быть «корневым» виджетами и не иметь какого-либо родителя, или может быть дочерним виджета, у которого есть родитель.Ember Data - получить родительское значение от дочернего
Модель данных уголек выглядит следующим образом:
export default DS.Model.extend({
name: DS.attr('string'),
parentWidget: DS.belongsTo('widget', { async: true, inverse: null }),
isSubWidget: DS.attr('boolean')
})
Я пытаюсь добавить свойство «DisplayName», который будет отображаться имя для корневых виджетов, или «родитель имя - имя ребенка» для дочерних виджетов
displayName: Ember.computed('name', 'parentWidget.name', 'isSubLob', function() {
if this.get('isSubWidget') {
return "#{this.get('parentWidget.name')} - #{@get('name')}"
}
else {
return "#{this.get('name')}"
}
})
Это не работает. DISPLAYNAME ребенка LOB всегда приходит как
undefined - WidgetName
JSON возвращается следующим образом:
{
"widgets": [
{
"id": 2,
"name": "Widget Name",
"is_sub_widget": true,
"parent_widget_id": 1
},
...
}
Для записи, все записи в настоящее время Returne в формате JSON в то же время.
Мне кажется, что Ember должен быть асинхронным решением родительского виджета, и строка также должна быть обновлена, однако она, похоже, не работает. Любая идея, что я делаю неправильно здесь?
Нет кубиков. Я сделал некоторые изменения с этими изменениями, но я должен уточнить, что все Widgets (около 300, вряд ли изменится) загружаются в маршрут, и это только пытается отобразить, когда я пытаюсь выбрать из выпадающего списка позже.Я действительно чувствую, что он должен иметь все необходимые данные, когда он отображается. – DVG
Итак, чтобы сузить эту проблему, мне понадобятся две части информации. Во-первых, переопределяет ли вычисляемое свойство, когда обещает решение? (Сколько раз он запускается?) Во-вторых, если вы поместите точку останова в вычисленном свойстве в последний раз, как выглядит модель в Ember Inspector? Это он разрешил? Имеет ли свойство 'name'? – GJK