0

トリガーとバックボーンを使用していて、プログラムでURLに移動しようとしています。これはすべてfile://プロトコルを使用して発生します。これは、すべてがトリガーio内でのみ実行されるためです。

ただし、この手動ナビゲートは、ルートに関連付けられた機能をトリガーしません。

私のルーターはこんな感じ

var BARouter = Backbone.Router.extend({
    routes: {
        "users/sign_in": "userSignin",
        "users/sign_up": "userSignup",
        "": "catchAll"
    },

    userSignin: function(){

    },
    userSignup: function(){
        forge.logging.info("in user signup----");
    },
    catchAll: function(){

    }
});


var app_router = new BARouter();
BA.router = app_router;
Backbone.history.start({pushState: true});

手動でナビゲートしています

BA.router.navigate(navigate_to("users/sign_up"), {trigger:true});

Navigator_toメソッドは、完全なURLを「file:// users/sign_up」の形式で返すだけです。

ただし、コンソールには何も記録されず、実行は正常に流れます。私はここで何かが欠けていますか?

4

1 に答える 1

2

ファイルのURLでpushStateを使用することはおそらく意味がありません。また、navigate_to関数が必要な理由もわかりません。

pushStateをfalseに設定し、ルートの文字列を使用してナビゲートしてみてください。

BA.router.navigate("users/sign_up", {trigger:true});
于 2012-11-19T09:12:17.830 に答える