Angular 7 ngx-translate изменить перевод времени выполнения без ссылки sh страница - PullRequest
0 голосов
/ 17 июня 2020

Примечания: Я устал от всех вопросов и ответов, связанных с этим топом c.

Я хочу перевести переменную Typescript Значение без ссылки sh страница при смене языка Выпадающий список.

Я пытаюсь изменить изменение данных по языку. Мне удалось изменить значение HTML Bind: при изменении значения раскрывающегося списка, но не обновить TypeScript Bind: значение.

я использую ngx-translate

Я ссылаюсь на Ссылки: но безуспешно

  1. angular -ngx-translate-usage-in-typescript
  2. ngx-translate-in-ts-file- angular
  3. ngx-translate-with-Dynami c -text- on-ts-файл

components.ts

import { Component, OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';

@Component({
  selector: 'app-translate',
  templateUrl: './translate.component.html',
  styleUrls: ['./translate.component.css']
})
export class TranslateComponent implements OnInit {
  typeScriptvalue: string;
  simpleProducts:any[]=[ {   
    name:'English',
    id:'en'
  },
  {   
    name:'French',
    id:'fr'
  }];

  constructor(private translate: TranslateService) {
    this.typeScriptvalue = this.translate.instant('HOME.TITLE');
   }

  ngOnInit(): void {
  }

  changeevent(e)
  {
    console.log(e);
    this.translate.use(e.value);

  }

}

component.html

 <label><b> HTML Bind</b></label> : <div>{{ 'HOME.TITLE' | translate }}</div> <br>
    <label><b>TypeScript Bind</b></label> : <div>{{ typeScriptvalue }}</div> <br>
    <label>
        Change language : <div class="dx-field-value">
            <dx-select-box  [dataSource]="simpleProducts" displayExpr="name" valueExpr="id" (onValueChanged)="changeevent($event)"></dx-select-box>
        </div>
    </label>

1 Ответ

0 голосов
/ 18 июня 2020

После долгих исследований я наконец-то получил лучшее решение.


Вы можете переназначить переменную Typescript в методе подписчика. использовать метод

 changeevent(e)
  {
    console.log(e);
    this.translate.use(e.value).subscribe(data => {
      this.typeScriptvalue = this.translate.instant('Home.Title');      
    });

  }
...