dra*_*mnl 4 angularjs angular-translate
我正在使用Angular Material和angular-translate.
基本上当使用AM的md-select我有:
<md-select-label>{{ userLanguage ? userLanguage.chosenLanguage: "Choose language"}}</md-select-label>
Run Code Online (Sandbox Code Playgroud)
如果未选择任何选项,则显示选择语言,否则显示所选选项.
最后,我使用angular-translate在我的应用程序的视图中翻译所有标签(例如,在多种语言中选择"选择语言"),如:
{{ 'LB_CHOOSE_LANGUAGE' | translate }}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过以下方式嵌套2个表达式(三元运算符+角度转换过滤器)时:
{{ userLanguage ? userLanguage.chosenLanguage : {{ 'LB_CHOOSE_LANGUAGE' | translate }} }}
Run Code Online (Sandbox Code Playgroud)
我的语法无效:
错误:[$ parse:syntax] http://errors.angularjs.org/1.4.0-rc.2/ $ parse/syntax
关于如何处理嵌套表达式的任何线索?
Handlebar语法表示JavaScript表达式,或者特定的Angular表达式.使用把手内部的把手没有意义,因为你已经告诉编译器你正在从HTML切换到JavaScript.
话虽如此,你可以在没有内部把手的情况下重写你的表达:
{{ (userLanguage ? userLanguage.chosenLanguage : 'LB_CHOOSE_LANGUAGE') | translate }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2244 次 |
| 最近记录: |