我对Angular开发还比较陌生,我不确定以下行为是否正常。我有一个支持两种语言的小型应用程序,us
和nl
。对于翻译,我按照on their github page的步骤使用@ngx-translate
。
我正在使用像波纹管这样的翻译指令
<select formControlName="cheese_code" name="cheese_code" id="cheese_code" class="custom-select" required tabindex="4">
<option [translate]="'Select your cheese'" value="" selected></option>
<option *ngFor="let cheese of cheeseList$ | async" [ngValue]="cheese.id">{{cheese.name}}</option>
在我的assets\i18n
文件夹下,有两个json文件,en.json
和nl.json
。 en.json
不包含'Select your cheese'
的翻译,而nl.json
包含。
我所期望的是正在发生的事情,例如,如果我选择英语作为应用程序语言,那么我会在下拉列表中看到“选择您的选择”文本(假设没有翻译,它将使用默认设置),而如果我切换语言,则会显示翻译后的文本。
对于en
,下拉菜单每隔1秒不断被重新绘制,这很奇怪。在Chrome浏览器中,如果启用了选项Paint flashing
,则可以看到当语言设置为en
时该元素不断被重新绘制,但是如果语言为nl
则不会发生,因此该翻译实际上存在于nl.json
中。
这正常吗?如果我要在页面上渲染的元素比现在多100倍,这会成为性能问题吗?