3

非常に単純な Web サイトに Durandal を使用しています。すべてのブラウザ タブで、ページ タイトルに「undefined|」が表示されます。アプリケーションのタイトルの前に追加されます。Durandal はどこでその値を取得して設定しますか?

タラッカー

4

3 に答える 3

4

最終的にデュランダルのルータープラグインはdocument.titleを設定しています。

https://github.com/dFiddle/dFiddle-1.2/blob/gh-pages/App/durandal/plugins/router.js#L254

onNavigationComplete: function (routeInfo, params, module) {
    if (app.title) {
        document.title = routeInfo.caption + " | " + app.title;
    } else {
        document.title = routeInfo.caption;
    }
},...

通常、Durandal はルート オブジェクトに欠落しているキャプション プロパティを構築できるため、ルートの設定方法が異なる可能性があります。

https://github.com/dFiddle/dFiddle-1.2/blob/gh-pages/App/samples/shell.js#L6

router.map([

   { url: 'hello', moduleId: 'samples/hello/index', name: 'Hello World', visible: true },
   { url: 'hello/:name', moduleId: 'samples/hello/index', name: 'Examples' },...
]);
于 2013-05-31T07:50:39.487 に答える
1

ビューモデルがアクティブになったときにページ タイトルを設定できます。

activate: function (params) {

    // Setting page title
    params.routeInfo.caption = "My Page Title";

    return true;
}
于 2013-08-21T13:27:43.663 に答える
0

Durandal 2.1.0 でのページ タイトルの置き換え

(ページタイトルをルートの最終レベルとは異なるものにしたい場合)

RainerAtSpirit の回答を少し修正: ルートで「名前」の代わりに「タイトル」を指定します。

router.map([
   { url: 'hello', moduleId: 'samples/hello/index', title: 'Hello World', visible: true },
   { url: 'hello/:name', moduleId: 'samples/hello/index', title: 'Examples' },...
]);
于 2016-03-01T14:54:27.883 に答える