Привязка не работает сразу при изменении значения в Microsoft Edge для Angular 7 - PullRequest
0 голосов
/ 07 февраля 2019

В моем решении Angular 7 у меня проблема с привязкой данных в представлениях в Microsoft Edge / другие браузеры, такие как Opera, Chrome и Mozilla, работают правильно /.Моя страница содержит несколько элементов ввода, таких как текстовые поля, выпадающие списки, радиокнопки, указатели даты.Существует триггер onValueChange для каждого элемента ввода, в файле controller /.ts / эти изменения выполняются немедленно, но представление не обновляется.

Я добавил двойные фигурные скобки для отображения текущих значений в представлениях, но значенияявляется нулевым / или старым /, пока вы не нажмете на следующем входе / но не на каждом входе - только указатель даты или выпадающий список /.Когда я пытался проверить это в других браузерах, значения отображаются сразу после ввода значения для ввода.

Я пытался добавить несколько полифилов на основе официального сайта для поддерживаемых браузеров, но ничего не помогло.

Вот мои tsconfig.json и polyfills.ts:

{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"importHelpers": true,
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
  "es2017",
  "dom"
 ]
 }
 }

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
 import 'core-js/es6/symbol';
 import 'core-js/es6/object';
 import 'core-js/es6/function';
 import 'core-js/es6/parse-int';
 import 'core-js/es6/parse-float';
 import 'core-js/es6/number';
 import 'core-js/es6/math';
 import 'core-js/es6/string';
 import 'core-js/es6/date';
 import 'core-js/es6/array';
 import 'core-js/es6/regexp';
 import 'core-js/es6/map';
 import 'core-js/es6/weak-map';
 import 'core-js/es6/set';

/** IE10 and IE11 requires the following for the Reflect API. */
 import 'core-js/es6/reflect';

// Used for browsers without a native support of Custom Elements
import '@webcomponents/custom-elements/custom-elements.min';

import '@ng-select/ng-select/bundles/ng-select.umd.min';

 import 'web-animations-js';  // run `npm install --save web-animations-js`.

Есть ли способ заставить это работать на Edge?

1 Ответ

0 голосов
/ 11 февраля 2019

Попробуйте обратиться к следующему коду:

<input type="text" class="form-control" (input)="onSearchChange($event.target.value)"><br/>
<span>{{ name}}</span>

.ts file:

export class AboutComponent implements OnInit {

  name:string;

  constructor() { }

  ngOnInit() {
  }
  onSearchChange(searchValue : string ) {  
    console.log(searchValue);
    this.name = searchValue;
  }
}

он хорошо работает на моей стороне (Edge 42.17134.1.0), например так:

enter image description here

Если вы все еще не работаете, вы можете опубликовать код «Достаточно», чтобы воспроизвести проблему, как в Пример «Минимальный, Полный и Проверяемый» ,И вы также можете проверить версию браузера Edge.

...