0

現在 canjs に飛び込んでいますが、これは素晴らしい mvc フレームワークのようです。ルーターで困っています。ローカルホストでテストを行うために wamp を使用しています。したがって、問題は次のとおりです。localhost を入力すると、ブラウザーの最初の URL は「localhost」になり、空の URL を処理するルーターの最初のケースと一致します。問題は、ユーザーをリダイレクトするために window.location.hast を実行していることですが、これを行った後はルーティングされないため、これは私が助けを必要としている部分です。私のルーターコードは次のとおりです。

$(function() {
'use strict';
var Routing = can.Control({
    defaults: {}
}, {
    'init': function() {
        console.log('router init');
    },
    //default router
    'route' : function(){
        console.log('default route');
        window.location.hash= "#!dashboard/london/";//doesnt works like this
        //can.route.attr('location','london');//like this it works!!!
    },
    //route i cant match!
    'dashboard/:location/ route' : function(data){
        console.log(data.location);
    }
});

can.route.ready(false);
new Routing($('body'));
can.route.ready(true);

});

4

1 に答える 1

2

コードを実行する最新バージョン(ルーティングを開始するために呼び出すだけでよい)でFiddleを作成しました。can.route.ready()

router init
default route
london

これはあなたが期待しているものです。

于 2013-10-25T22:44:42.737 に答える