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并加载该子页面.
您可以使用堆栈溢出问题中的一个解决方案:如何在JavaScript中获取查询字符串值?
但是,我强烈建议您考虑客户端路由库.淘汰赛主页有一个使用sammyjs的例子,但还有许多其他有趣的解决方案(包括knockback,它结合了backbonejs和knockoutjs).