首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knockout.js url路由

Knockout.js url路由
EN

Stack Overflow用户
提问于 2012-02-12 02:27:10
回答 2查看 4.3K关注 0票数 4

我做了我的第一个knockout.js应用程序http://jsfiddle.net/Pqs7e/

对于显示应用程序部分(图书部分、关于部分),我使用jquery $("#id").show()。我觉得这条路不对。我如何通过视图模型的机制来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-12 10:11:24

我会用特殊的state observable来做这件事,它会确定要显示哪个div:

代码语言:javascript
复制
function ViewModel(){
    var self = this;
    self.state = ko.observable();
    ...
}

然后你只需像这样绑定它:

代码语言:javascript
复制
<div id="books" data-bind="visible: state() === 'books'>...</div>
<div id="about" data-bind="visible: state() === 'about'>...</div>

并像这样在状态之间切换:

代码语言:javascript
复制
this.get('#books', function() {
    self.state("books");
});

this.get('#about', function() {
    self.state("about");
});
票数 4
EN

Stack Overflow用户

发布于 2012-08-15 08:53:55

另一种方法是使用模板:

代码语言:javascript
复制
<div data-bind="template: state">
    Template renders here
</div>

然后,您的部分可以像这样定义在某个地方(在同一文件中或其他地方):

代码语言:javascript
复制
<script id="books" type="text/html">
   Your markup here...
</script>

<script id="about" type="text/html">
   Your markup here...
</script>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9242817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档