如何在不使用路由器的情况下强制 Aurelia destroy/recreate view/viewModel 对
How to force Aurelia to destroy/recreate a view/viewModel pair without using router
当开始使用 Aurelia 时,if.bind
并没有导致 child view/viewModel 被摧毁,这让我感到惊讶。它确实经历了一个 bind/unbind attached/detached 循环,我可以看出这对某些场景有何意义。但我也希望能够完全摧毁 view/viewModel 并从头开始重建它。我创建了一个 plunker 来展示我使用 if.bind
的最大努力。我正在寻找有关如何完全销毁 的建议。谢谢!
看起来您可以使用 <compose>
元素将自定义元素视为 view/view 模型,从而使用瞬态创建行为。 See compose
documentation
笨蛋:
https://plnkr.co/edit/vKsQsHKsIp4vTVjG5G7f?p=preview
<template if.bind="someBoolean">
<compose view-model="my-other-element.js"></compose>
</template>
当开始使用 Aurelia 时,if.bind
并没有导致 child view/viewModel 被摧毁,这让我感到惊讶。它确实经历了一个 bind/unbind attached/detached 循环,我可以看出这对某些场景有何意义。但我也希望能够完全摧毁 view/viewModel 并从头开始重建它。我创建了一个 plunker 来展示我使用 if.bind
的最大努力。我正在寻找有关如何完全销毁
看起来您可以使用 <compose>
元素将自定义元素视为 view/view 模型,从而使用瞬态创建行为。 See compose
documentation
笨蛋: https://plnkr.co/edit/vKsQsHKsIp4vTVjG5G7f?p=preview
<template if.bind="someBoolean">
<compose view-model="my-other-element.js"></compose>
</template>