2

コード内のイベント ハンドラーから別のビューに移動する必要があります。このようにします。

define(['durandal/system', 'durandal/app', 'durandal/viewLocator', 'plugins/router', 'underscore'],
 function (system, app, viewLocator, router, _) {
    system.log('starting app');
    //>>excludeStart("build", true);
    system.debug(true);
    //>>excludeEnd("build");
    app.title = 'Destiny';

    app.configurePlugins({
        router: true,
        dialog: true,
        widget: true,
        observable: true
    });

    router.map('destination', 'viewmodels/destination');
    router.activate();
    _.delay(function() {
        app.start().then(function() {
            //Replace 'viewmodels' in the moduleId with 'views' to locate the view.
            //Look for partial views in a 'views' folder in the root.
            viewLocator.useConvention();

            //Show the app by setting the root view model for our application with a transition.
            app.setRoot('viewmodels/locationPicker', 'flip');
        });
    }, 1500);
}

);

ここで、moudle とルーターの間のマッピングを定義します - 宛先とルート ビューを別のビュー locationPicker として設定します

私の別のビュー locationPicker.js では、次のように移動します

router.navigate('destination');

開発者ツールから、ビュー モデルの destination.js ファイルがエラーなしで読み込まれていることがわかりますが、ビューはまったく変更されません。なぜこうなった?ところで、私はdurandal 2.0.1バージョンを使用しています

4

1 に答える 1