使用CrossroadJS和HasherJS与KnockoutJS时如何刷新内容

时间:2015-08-04 14:43:23

标签: ajax knockout.js knockout-3.0 crossroadsjs

我正在关注Lazy Blogger开始使用十字路口和哈希的knockoutJS路由,并且它正常工作。
现在我需要在每次单击时使用ajax for Home and Settings页面刷新内容。所以我用谷歌搜索,但找不到一些有用的资源。只有这两个链接

  1. 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
            });
    
        }
    });
    
  2. Crossroads Official Page我也无法找到需要设置此属性的位置。
  3. 如果你知道那么请指点我的网址,我可以获得更多相关细节。

0 个答案:

没有答案