2017-06-14 8 views
1

を更新していないが、問題Angular2:Viewはここ

私は私が名前を選択したときに更新する必要があるコンポーネントを持っているが、他の「変更しないビュー」です。 しかし、私はなぜモデルの変更の前に2倍の名前を選択しなければならないのかわかりません。それは私がモデルが更新されないことを選択する最初のようなものです。 materializeCSSで角度2 4.0.0を使用して

(オートコンプリートがマテリアライズから来る)

Example

それでは、私が直接私が選択した後にボタンが表示されていたいと思います。この部分の

HTMLテンプレート:

<form> 
      <i class="material-icons prefix">search</i> 
      <input id="search" type="text" name="autoComplete" materialize="autocomplete" [materializeParams]="[autocompleteInit]"> 
     </form> 
     <div *ngIf="CVSelected.getCV()"> 
      <button type="button" [routerLink]="['/dashboard/cv']" class="waves-effect waves-light btn">Passer à l'édition</button> 
     </div> 

AutocompleteInit:

autocompleteInit: any = { 
    data: {Some_data_here}, 
    onAutocomplete: (str: string) => { 
     this.dataService.GetFromString(str).subscribe(value => { 
      console.log(value); 
      this.CVSelected.setCV(value[0]); // This makes the button appears on my template with a get 
     }); 
     this.changement.detectChanges(); // Tried this and other functions that does the same but doesn't work 
    }, 
}; 

誰もがこの問題に遭遇しましたか?はいの場合は、いくつかのソリューションですか?

は、このような場合に最も可能性の高い原因は、角度範囲外の実行コードで事前

+0

チェック 'はconsole.log(Zone.current.name)' '内部onAutocomplete'ハンドラ – yurzui

+0

:それを解決するために、私はあなたのような角度ゾーン内のコードを実行するためにアドバイスでしょう。 current.name。どこで見つけるのですか? –

+0

そのzonejs。 '宣言let zone:any'' – yurzui

答えて

2

でいただきありがとうございます。ゾーンに関連するライブラリを見つけることができません

constructor(private zone: NgZone) { } 

autocompleteInit: any = { 
    data: {}, 
    onAutocomplete: (str: string) => { 
    zone.run(() => { 
     this.dataService.GetFromString(str).subscribe(value => { 
      console.log(value); 
      this.CVSelected.setCV(value[0]); // This makes the button appears on my template with a get 
     }); 
    }); 
    }, 
関連する問題