使用字符串变量导航到不同的命名插座

Navigate to different named outlet using a string variable

我有以下代码:

class Example {
    .....
    exampleNavigate(namedOutlet:string, data: any) {
        const commands = [{
            outlets: {
                popup: [data.module, data.service, data.create]
            }
        }];
        let queryParams = {}
        queryParams['id'] = data.id;
        this.router.navigate(commands,  { queryParams } );
    }
    ...
}

目前,我总是导航到 "popup" 出口。我可以导航到正在通过 exampleNavigate 函数传递的 namedOutlet?

我发现我只需要将 popup: [data.module, data.service, data.create] 替换为这个 [outletName] : [data.module, data.service, data.create] 就可以了。

遵循完整的工作示例:

class Example {
    .....
    exampleNavigate(namedOutlet:string, data: any) {
        const commands = [{
            outlets: {
                [outletName]: [data.module, data.service, data.create]
            }
        }];
        let queryParams = {}
        queryParams['id'] = data.id;
        this.router.navigate(commands,  { queryParams } );
    }
    ...
}