Почему bindable декоратор не соблюдается, когда пользовательский элемент отображается с помощью compose
Можно передать атрибуты пользовательскому элементу Aurelia с помощью @bindable
декоратор:
export class ItemCustomElement {
@bindable model: Item;
}
<item model.bind="model"></item>
Почему пользовательские элементы отображаются <compose>
обрабатываются по-разному, в соответствии с activate
способ передачи данных? @bindable
не соблюдается
export class ItemCustomElement {
@bindable model: Item;
activate(model: Item): void {
this.model = model;
}
}
<compose view-model="./item" model.bind="model"></compose>
С точки зрения пользовательского элемента, в настоящее время он должен знать, как он будет использоваться, с <compose>
или нет. Я думаю, что пользовательский элемент должен быть изолирован от этого внешнего решения. Можем ли мы сделать @bindable
работать в обоих случаях?
1 ответ
Пользовательские элементы отображаются <compose>
иметь доступ к своим внешним областям. Таким образом, нет необходимости использовать @bindable
, Посмотрите этот пример https://gist.run/?id=fae6b9c9c2e3a608a60522392329bae1