Я использую Durandal для очень простого веб-сайта. На всех вкладках моего браузера в заголовке страницы отображается «undefined|». добавляется перед заголовком приложения. Откуда Дюрандаль берет и устанавливает это значение?
фталакер
Я использую Durandal для очень простого веб-сайта. На всех вкладках моего браузера в заголовке страницы отображается «undefined|». добавляется перед заголовком приложения. Откуда Дюрандаль берет и устанавливает это значение?
фталакер
В конечном счете, плагин маршрутизатора 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' },...
]);
mapAuto
. github.com/BlueSpire/Durandal/pull/97. Я предлагаю загрузить файлы 1.2 с durandaljs.com/pages/downloads в качестве подсистем маршрутизатора. в настоящее время находится в стадии серьезной переработки на github.
- person RainerAtSpirit; 03.06.2013
Вы можете установить заголовок страницы при активации модели представления:
activate: function (params) {
// Setting page title
params.routeInfo.caption = "My Page Title";
return true;
}
Небольшая модификация ответа RainerAtSpirit: укажите «название» в маршруте вместо «имя».
router.map([
{ url: 'hello', moduleId: 'samples/hello/index', title: 'Hello World', visible: true },
{ url: 'hello/:name', moduleId: 'samples/hello/index', title: 'Examples' },...
]);