我正在使用Durandal作为一个非常简单的网站。在我的所有浏览器标签页面标题中都出现了“undefined |”附在应用程序标题的前面。杜兰达在哪里获得并设定了这个价值?
pthalacker
答案 0 :(得分:4)
最终Durandal的路由器插件正在设置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' },...
]);
答案 1 :(得分:1)
您可以在视图模型激活时设置页面标题:
activate: function (params) {
// Setting page title
params.routeInfo.caption = "My Page Title";
return true;
}
答案 2 :(得分:0)
对RainerAtSpirit的回答略有修改:在路线中指定'title'而不是'name'。
router.map([
{ url: 'hello', moduleId: 'samples/hello/index', title: 'Hello World', visible: true },
{ url: 'hello/:name', moduleId: 'samples/hello/index', title: 'Examples' },...
]);