流畅的导航与knockout.js

ozz*_*ozz 2 javascript knockout.js

我有一个单页面应用程序,有三个子页面.

网址结构是:

/page  (sub-page-0)

/page#sub-page-1

/page#sub-page-2
Run Code Online (Sandbox Code Playgroud)

查看模型是:

function ViewModel(activePage){
   var self=this;

   self.activePage=ko.observable(activePage);
   self.changePage=function (newPage){
       self.activePage(newPage);
       //change url
   });
}
Run Code Online (Sandbox Code Playgroud)

当用户输入url时,我想在javascript中获取#part并使用此参数构造ViewModel.

当用户单击页面中的链接时,我想更改URL并加载该子页面.

dae*_*s28 5

您可以使用堆栈溢出问题中的一个解决方案:如何在JavaScript中获取查询字符串值?

但是,我强烈建议您考虑客户端路由库.淘汰赛主页有一个使用sammyjs例子,但还有许多其他有趣的解决方案(包括knockback,它结合了backbonejs和knockoutjs).