本质上,我正在尝试实现 RobN 的极其简单的模板切换器http://jsfiddle.net/rniemeyer/XYz8M/,它使用“模板”数据绑定。
(---SO wants code here - see fiddle for complete code---)
<div id="templateContent" data-bind='template: { name: currentView() }'></div>
var viewModel = {
currentView: ko.observable("template-1"),
toggleView: function() {
this.currentView(this.currentView() === "template-1" ? "template-2" : "template-1");
}
};
ko.applyBindings(viewModel);
我已经看到了很多其他简单的示例,并且所有示例都为每个加载的模板使用相同的 viewModel 类。例外 - RobN 的 SamplePresentation 应用程序(我没有足够的代表点来发布另一个链接)虽然令人印象深刻,但我发现很难连接到我的 noobie KO 体验。我认为他是在他的 section.activate() 方法中这样做的,但是,我不清楚。
我想在一个真正的应用程序中使用这个概念,但是有绑定上下文问题。这是我想要做的:http: //jsfiddle.net/jockor/DSEDh/4/
This line intentionally left blank (please see fiddle vs. mangling code here)
基本上,当按下导航链接/按钮时,我只想将正文内容面板换成另一个模板。该模板将需要由其自己的视图模型支持的自己的数据。
上面的小提琴是我对这个概念的简化版本 - 只是试图在 Cats 和 Dogs 面板之间切换。我遇到的是绑定到“模板”数据绑定的数据用于加载的猫/狗模板。
有人可以告诉我我是否正确执行此操作,或者我是否在滥用“模板”绑定概念?