Я создаю свой первый компонент Glimmmer в Ember, и у меня в шаблоне было что-то вроде этого:
<p>Some val: {{this.my_obj.some.deeply.nested.path.to.val}}</p>
Затем я создал соответствующий файл компонента .js
и подумал, что попытаюсь удалить длинный путь от HTML.
Моя первая попытка была сделать геттер:
get val() {
return this.my_obj.some.deeply.nested.path.to.val;
}
С шаблоном сейчас:
<p>Some val: {{this.val}}</p>
Это работает изначально и отображает начальное значение, присвоенное переменной val
, но оно не обновляется при изменении базового val
.
Поэтому я решил попробовать пометить геттер как отслеженный, но это привело к исчезновению вывода:
@tracked val;
get val() {
return this.my_obj.some.deeply.nested.path.to.val;
}
Затем я попробовал это, но это неверный синтаксис:
@tracked this.my_obj.some.deeply.nested.path.to.val;
Так как же это обрабатывать в компоненте Glimmer?
Конечно, решение не для HTML для ссылки на глубокий путь, подобный этому, каждый раз при обращении к переменной, однако новые документы Ember, какими бы хорошими они ни были, не оставляют меня равнодушным в этом относительно простом / общем случае.