В AureliaJS, как добавить / удалить представления из JS вместо разметки?
У меня есть несколько представлений / компонентов, которые реализуют пользовательские элементы, поэтому я использую их в своей разметке следующим образом:
<require from="./panels/property_inspector/PropertyInspector"></require>
<property-inspector--panel></property-inspector--panel>
Все идет нормально. Но теперь мне нужно добавить / удалить такие виды / компоненты программно. Я читал центр аурлии, но у меня ничего не получилось... Любой намек оценили.
1 ответ
В зависимости от того, что вы пытаетесь достичь, я согласен с @peinarydevelopment, что compose
может быть полезным для вас. См сочинять документацию
Вы можете использовать <compose>
элемент и связать view-model
приписать свойство вашей модели представления. Это свойство должно указывать путь к модели представления или фактическому экземпляру модели представления, который был импортирован.
Пример:
app.html
<template>
<h2>dynamic view model by path</h2>
<button click.trigger="loadNewViewModel()">Load different vm</button>
<compose view-model="${currentViewModel}"></compose>
</template>
app.js
export class App {
currentViewModel = "test.js";
loadNewViewModel(){
this.currentViewModel = "new.js"
}
}
Посмотреть эту суть: https://gist.run/?id=a2f17028d45ea202cd19be5491272dde