aurelia - Aurelia 中的动态路由 - 更改标题

标签 aurelia

    { 
        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(它引发了一个错误:未处理的 promise 拒绝 TypeError:无法读取未定义的属性'navModel'),只是想知道我是否接近找到正确的代码?我需要做一些推送 this.router.push 吗?

我相信我可能需要对 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();
    }
}

最佳答案

如果你想改变激活函数的标题,试试

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

关于aurelia - Aurelia 中的动态路由 - 更改标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159653/

相关文章:

父组件的 Aurelia 防火验证

typescript - 更改集合时不会触发 Aurelia CollectionObserver 处理程序

Aurelia js 为 popover 主体提供动态内容

aurelia - 使用 router.navigateToRoute() 导航到子路由

javascript - Aurelia Router hook - 提供一个预实例化和激活的模块

validation - Aurelia-validation 确保依赖问题

组件中的 Aurelia 自定义组件

javascript - 观察对象数组的属性是否有任何变化

reactjs - 为什么这个aureliaJS-reactJS示例中有一个名为bind()的函数?

microsoft-edge - if.bind 在中继器上 - 在 Edge 和 IE 中不起作用