我正在寻找一种在运行时为所有视图动态提供视图模型的方法。问题是在ViewEngine或视图模型加载器/工厂中是否有可用于执行此操作的钩子。
我正在研究桥接到WebAssembly并允许使用其他语言编写视图模型的方法,并且我想在Javascript方面创建自动互操作视图模型,以使Aurelia能够正常工作。
答案 0 :(得分:0)
这是完全可行的,并且许多人已经使用Aurelia成功交付了超动态应用程序,因为Aurelia中的几乎所有内容都是动态的。
例如:
基于实例的动态内联视图:https://codesandbox.io/s/r0no20706p(基于本文主题https://discourse.aurelia.io/t/template-literals-in-class-instance/1829/6)
动态远程查看策略:https://codesandbox.io/s/8ljmrq3vql(基于github问题)
基于路径的动态视图模型:https://codesandbox.io/s/ywyj60p9qj(基于本文https://discourse.aurelia.io/t/ideas-on-data-driven-ui-composition-vs-previous-angularjs-approach/2269/3
基本上可以归结为使用.compose
中的CompositionEngine
方法:
compositionEngine.compose({
viewModel:
string // as module path
| Function // as constructor
| object // as instance
})
并确保该视图可从视图模型中解析出来。