2016-09-21 2 views
2

У меня есть пользовательский компонент, который имеет items свойство, определяемый как @children для компонента:Не может наблюдать свойство [] из объекта

@children(`${ComponentConfiguration.prefix}tracker-item`) items = []; 

tracker-item является простым видом-модель с @noView аннотацию, и имеет только одно свойство.

пункты, которые определены на мой взгляд, как это:

<tracker-item label="${trackerElementModel.steps[0] | displayDate:'DD MMMM'}"> ${"PURCHASE.RQT_DTE" | t} </tracker-item> 

Это работало отлично, но после того как я обновил свой проект, чтобы построить его с Aurelia-кли, я вижу эту ошибку каждый раз, когда компонент является вызванный:

WARN [property-observation] Cannot observe property 'items' of object 
TrackerComponent {_isAttached: false, _taskQueue: TaskQueue, _useTaskQueue: true, _alertService: AlertService, parentElement: null…} 

TrackerComponent - это имя моего компонента.

Я не понимаю, откуда эта ошибка, потому что где-то еще в моем коде есть одно и то же определение для другого настраиваемого компонента, который не вызывает такую ​​же ошибку.

Что не так с этим?

+0

Какова ценность ComponentConfiguration.prefix здесь? –

ответ

0

Мне удалось избавиться от предупреждения на моем пользовательском элементе.

Видимо, это происходит только при использовании аннотации @children на уровне собственности. Если вы переместите аннотацию на уровень класса, предупреждение должно исчезнуть. В вашем случае аннотация уровня класса будет выглядеть примерно так:

@children(name: 'items', selector: `${ComponentConfiguration.prefix}tracker-item`) 
export class <yourClass> { 
    ... 
} 
Смежные вопросы