根据 angular 中的参数传递翻译后的值
pass translated value based on a parameter in angular
我有以下翻译
"SIGNAL":{
"0": "Initial state, unset state",
"1": "Emergency",
"2": "Dangerous state",
"3": "Attention status, processing in progress",
"4": "Attention",
"5": "Normal status processing in progress",
"6": "Normal status"
},
每个数字都是来自服务器的错误代码。
我有一个显示错误的组件
export class DroneSignalLedComponent implements OnInit {
@Input() signal: number;
@Input() status: string;
constructor() { }
ngOnInit() {
}
}
我想在状态输入中将翻译传递给此组件。
这是绑定
<app-drone-signal-led [signal]="uav?.signal || 0" [status]="{{ 'DRONE.STATUS.SIGNAL.'+uav?.signal | translate }}"></app-drone-signal-led>
问题是,我找不到合适的方法在绑定中连接我的值。 (因为还有翻译的{{}})
现在我有
compiler.js:2430 Uncaught Error: Template parse errors: Parser Error:
Got interpolation ({{}}) where expression was expected at column 0 in
[{{ 'DRONE.STATUS.SIGNAL.'+uav?.signal | translate }}]
uav?.signal 是一个从 0 到 6 的数字。
我想要的结果是,选择这样的东西
{{}}
在输入中不是必需的,因此删除这些应该可以解决您的问题
<app-drone-signal-led
[signal]="uav?.signal || 0"
[status]="('DRONE.STATUS.SIGNAL.'+(uav?.signal || 0)) | translate">
</app-drone-signal-led>
继续 Crocsx 的回答:
{{}} are not required in inputs, so removing those should solve your
issue
因为在你的信号对象中,键只有 0
1
2
& 3
所以你不能附加 'DRONE.STATUS.SIGNAL.'
来翻译工作,你只需要传递这些数字来分别翻译管道,如:
<app-drone-signal-led
[signal]="uav?.signal || 0"
[status]="'DRONE.STATUS.SIGNAL.'+((uav?.signal || 0) | translate) ">
</app-drone-signal-led>
我有以下翻译
"SIGNAL":{
"0": "Initial state, unset state",
"1": "Emergency",
"2": "Dangerous state",
"3": "Attention status, processing in progress",
"4": "Attention",
"5": "Normal status processing in progress",
"6": "Normal status"
},
每个数字都是来自服务器的错误代码。
我有一个显示错误的组件
export class DroneSignalLedComponent implements OnInit {
@Input() signal: number;
@Input() status: string;
constructor() { }
ngOnInit() {
}
}
我想在状态输入中将翻译传递给此组件。
这是绑定
<app-drone-signal-led [signal]="uav?.signal || 0" [status]="{{ 'DRONE.STATUS.SIGNAL.'+uav?.signal | translate }}"></app-drone-signal-led>
问题是,我找不到合适的方法在绑定中连接我的值。 (因为还有翻译的{{}})
现在我有
compiler.js:2430 Uncaught Error: Template parse errors: Parser Error: Got interpolation ({{}}) where expression was expected at column 0 in [{{ 'DRONE.STATUS.SIGNAL.'+uav?.signal | translate }}]
uav?.signal 是一个从 0 到 6 的数字。
我想要的结果是,选择这样的东西
{{}}
在输入中不是必需的,因此删除这些应该可以解决您的问题
<app-drone-signal-led
[signal]="uav?.signal || 0"
[status]="('DRONE.STATUS.SIGNAL.'+(uav?.signal || 0)) | translate">
</app-drone-signal-led>
继续 Crocsx 的回答:
{{}} are not required in inputs, so removing those should solve your issue
因为在你的信号对象中,键只有 0
1
2
& 3
所以你不能附加 'DRONE.STATUS.SIGNAL.'
来翻译工作,你只需要传递这些数字来分别翻译管道,如:
<app-drone-signal-led
[signal]="uav?.signal || 0"
[status]="'DRONE.STATUS.SIGNAL.'+((uav?.signal || 0) | translate) ">
</app-drone-signal-led>