2015-12-08 26 views
1
{ 
     route: 'content/:id', 
     name: 'Details', 
     title: 'Details', 
     viewPorts: { main: { moduleId: './admin/content/details' }, aside: { moduleId: './admin/content/aside' } }, 
     settings: { menu:menuSection.content, access: { controller: 'content', action: 'get' } } 
    }, 
    { 
     route: 'content/:id', 
     name: 'Add', 
     viewPorts: { main: { moduleId: './admin/content/details' }, aside: { moduleId: './admin/content/aside' } }, 
     settings: { menu:menuSection.content, access: { controller: 'content', action: 'get' } } 
     title: 'Add', 
     href: 'content/0', 
     nav: true 
    } 


    import {Router} from 'aurelia-router'; 

    activate(){ 
     if (this.id === 0) { 
      this.router.title = "Add"; 
     } else { 
      this.router.title = "Edit"; 
     } 
    } 

我想改變標題,因爲它目前對新增內容和更新內容都說'添加'。我也嘗試過routeConfig(這引發了一個錯誤:未處理的承諾拒絕TypeError:無法讀取未定義的屬性'navModel'),只是想知道我是否接近,找到正確的代碼?我需要做一些這種推this.router.push?奧裏利亞的動態路由 - Alter標題

我認爲我可能需要做一些與UpdateTitle:

class UpdateTitle { 
    run(routingContext, next, routeConfig) { 
     var instr = routingContext.nextInstructions.find(i => i.params.id !== undefined && i.params.id !== 0 && i.params.id !== ''); 
     if(instr !== undefined) { 
      Unsure what to do here?//routeConfig.navModel.title("TEST"); 
      debugger; 
     } 

     return next(); 
    } 
} 

回答

1

如果你想改變激活功能的稱號,儘量

activate(params, routeConfig) { 
    routeConfig.navModel.title = 'Edit'; 
} 
+0

我想這一點,未處理的承諾拒絕類型錯誤:無法讀取未定義的屬性'navModel':-( –

+0

當我在aurelia-navigation示例應用程序上嘗試時可以正常工作...您可以在那裏嘗試一下,然後看看爲什麼您的應用程序不同嗎? – Mikhail

+0

我不打算做些什麼:UpdateTitle?請參閱問題 –