我正在关注Lazy Blogger开始使用十字路口和哈希的knockoutJS路由,并且它正常工作。
现在我需要在每次单击时使用ajax for Home and Settings页面刷新内容。所以我用谷歌搜索,但找不到一些有用的资源。只有这两个链接
Stack Overflow在这里,我无法理解在哪里放置ignoreState属性并尝试了这些。但无法使其发挥作用。
define(["jquery", "knockout", "crossroads", "hasher"], function ($, ko, crossroads, hasher) {
return new Router({
routes:
[
{ url: '', params: { page: 'product' } },
{ url: 'log', params: { page: 'log' } }
]
});
function Router(config) {
var currentRoute = this.currentRoute = ko.observable({});
ko.utils.arrayForEach(config.routes, function (route) {
crossroads.addRoute(route.url, function (requestParams) {
currentRoute(ko.utils.extend(requestParams, route.params));
});
});
activateCrossroads();
}
function activateCrossroads() {
function parseHash(newHash, oldHash) {
//crossroads.ignoreState = true; First try
crossroads.parse(newHash);
}
crossroads.normalizeFn = crossroads.NORM_AS_OBJECT;
hasher.initialized.add(parseHash);
hasher.changed.add(parseHash);
hasher.init();
$('a').on('click', function (e) {
crossroads.ignoreState = true; //Second try
});
}
});
如果你知道那么请指点我的网址,我可以获得更多相关细节。