Angular 管道参考资产
Angular Pipe reference assets
我正在构建一个 Angular 4 Pipe
来支持国际化。我想将管道发布为 npm 模块,供其他人使用。管道将引用开发人员放入 /assets/i18n/<lang>.json
文件中的 json 数据,如下所示:
{
"welcome" : "Welcome",
"register" : "Register"
}
并像这样用作管道:
{{ 'welcome' | i18n }}
从导入的管道中引用 json 文件的最佳方法是什么?当我尝试使用 require('assets/i18n/' + lang + '.json')
从导入的模块加载 json 时,无法解析路径。我应该改用 HttpClient
get
吗?如果是这样,我如何将 json 数据同步到管道?
感谢您的帮助。
我建议使用 HttpClient.get
分支。在这里,您可以使用 i18n
管道 + async
管道来获得最终结果。
第一步是在管道的转换函数中返回 Observable
。
constructor(private http: HttpClient) { }
transform(input) {
return this.http.get(...);
}
然后使用 i18n
管道和 async
管道自动订阅。
{{ 'welcome' | i18n | async }}
这里有一个例子demo.
我正在构建一个 Angular 4 Pipe
来支持国际化。我想将管道发布为 npm 模块,供其他人使用。管道将引用开发人员放入 /assets/i18n/<lang>.json
文件中的 json 数据,如下所示:
{
"welcome" : "Welcome",
"register" : "Register"
}
并像这样用作管道:
{{ 'welcome' | i18n }}
从导入的管道中引用 json 文件的最佳方法是什么?当我尝试使用 require('assets/i18n/' + lang + '.json')
从导入的模块加载 json 时,无法解析路径。我应该改用 HttpClient
get
吗?如果是这样,我如何将 json 数据同步到管道?
感谢您的帮助。
我建议使用 HttpClient.get
分支。在这里,您可以使用 i18n
管道 + async
管道来获得最终结果。
第一步是在管道的转换函数中返回 Observable
。
constructor(private http: HttpClient) { }
transform(input) {
return this.http.get(...);
}
然后使用 i18n
管道和 async
管道自动订阅。
{{ 'welcome' | i18n | async }}
这里有一个例子demo.