从ngx-translate中的转换值获取密钥

时间:2019-05-19 11:11:54

标签: angular ngx-translate

我使用@ ngx-translate和localize-router。 无法从本地化的URL解析有效的Slug 如果“ about”的翻译为“ asd”,则

   routerLink="about/{{'about' | localize}}" //href="about/asd"

但是如果我在这条路线上

   {path: ':slug', component...}

如果我从组件中的activatedRoute遇到了麻烦 子弹asd不存在

我之所以能够管理,是因为我也在数据库中存储了所有翻译,因此,如果它没有找到带有该段的记录,则会从所有翻译中进行迭代,并在找到翻译后的值时返回键并搜索新的段

有没有办法像get或Instant方法那样从translationService中的已翻译字符串中获取密钥?

1 个答案:

答案 0 :(得分:0)

通常,我在几个项目中使用localize-router,但每个项目中都有类似的问题。但是-真正引起误解的是-有时我在使用时会得到不同的行为: [routerLink]="" 过度 routerLink=""

您也可以尝试以下选项:

        this.activatedRoute.root.url
            .subscribe(res => {
                const params = this.activatedRoute.snapshot.params;
            });

或者这(不是您真正需要的,但有时可以帮助您):

        this.activatedRoute.root.url
            .subscribe(res => {
                const wholeUrl  = this.router.url;
            });

它也是快照的另一项服务:ActivatedRouteSnapshot,但是在我上一个使用Jasmine单元测试的项目中不起作用-模拟此问题。