У меня есть компонент parent
, где модель представления содержит свойство prop1
.По его мнению, пользовательский элемент имеет view-model.ref="prop1"
.
export class Parent {
public prop1;
}
<template>
<custom-element view-model.ref="prop1"></custom-element>
</template>
. Это работает как брелок, и я получаю ссылку на модель представления моего пользовательского элемента в моем parent
.
*.1009 * Теперь я добавляю дочерний маршрутизатор к
parent
с компонентом
child
.В модель представления
child
я добавляю свойство
prop1
.и, по его мнению, пользовательский элемент имеет
view-model.ref="prop1"
.Точно так же, как я делал в
parent
...
Как только я перехожу к parent/child
, контейнер parent
prop1
прекращает ссылаться на пользовательский элемент parent
и начинает ссылатьсятот от child
.Если я по-разному называю свойства, проблем не возникает.
Есть идеи, почему это происходит?И как я мог избежать такого поведения, не беспокоясь об именах свойств?
РЕДАКТИРОВАТЬ Я случайно получил еще немного информации!Если свойства инициализируются в модели представления, я могу сохранить ссылки в моделях представления.Обратите внимание, что я использую Typescript, поэтому я думаю, что скомпилированный код для неназначенного свойства класса вообще не упоминает это свойство, пока оно не будет назначено.Я до сих пор не совсем понимаю, откуда возникла проблема ...
И я остаюсь с той же проблемой, если использую view-model.ref
непосредственно в шаблоне, не сопоставляя его с явным свойством из представлениямодель, как это:
<template>
<custom-element view-model.ref="custom"></custom-element>
<custom-element2 opened.call="custom.opened()"></custom-element2>
</template>