我有一张桌子,我想用两种不同的方式显示它。不同数量的列及其内容和单元格的位置。我想为用户提供一种方法,只需单击一个按钮即可从一个视图切换到另一个视图。
我只是通过使用visible
绑定开始做的,但是后来我意识到这不是正确的方法,因为内容只是,invisible
但是仍在DOM中加载。我在后台复制内容并生成无效的HTML(id
例如,在两个表中都有重复的属性),这在jQuery方面产生了问题。
然后,如本例中所示,我研究了使用敲除模板来完成此任务,它解决了我以前的问题并且可以使用,但是在<script>
标签内使用HTML听起来对我来说不是最干净的解决方案。
我不确定使用组件是否可以为这种情况提供任何解决方案,我找不到一个解决方案。
关于如何处理此问题的任何建议?
使用knockout components + AMD
绝对是您要找的东西。看看作者的史蒂夫·桑德森(Steve Sanderson)对此进行了研究knockout
。它向建筑师SPA使用如何ko
使用requirejs
。它应该清除您的怀疑
例子:
...
<div data-bind="component: myDynamicComponent"> </div>
...
然后,如果您已将组件加载程序配置为获取其模板,或viewModel异步,您可以myDynamicComponent
观察到:
function RootViewModel(){
var self = this;
this.myDynamicComponent = ko.observable('some-component');
this.someButtonClicked = function() {
self.myDynamicComponent('some-other-component'); // this should render your other component async (only if you configured your component loader to do so)
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句