2017-06-14 78 views
1

?我怎樣才能在observable->地圖值,因爲我已經得到了錯誤:
屬性「目標」的類型不存在「{}」角度可觀察地圖系統

import { Component , ViewChild , AfterViewInit } from '@angular/core'; 
import {Observable} from 'rxjs/Rx'; 

@Component({ 
    selector: 'app-root', 
    template: `<h1>Hello World!</h1> 
       <input type="text" #name > 
       `, 


}) 

export class AppComponent implements AfterViewInit { 
@ViewChild ('name') input; 


ngAfterViewInit(){ 
    var keyup = Observable.fromEvent(this.input.nativeElement,"keyup") 
          .map(data => data.target.value); 
    keyup.subscribe(data => console.log(data)); 
} 
} 
+1

嘗試'.MAP((數據:任意)=> data.target.value);' – echonax

+0

echonax的建議應該是一個可以接受的解決方法,雖然'更好'(與更強大的打字)存在,請參閱https://github.com/ReactiveX/rxjs/issues/1822 – Pac0

+0

感謝您的快速回復,它已經解決了,但我不知道我的代碼有什麼問題? –

回答

1

可以避免此錯誤與

.map((data: any) => data.target.value); 

或者@ Pac0聲明,您可以爲您的真實對象創建一個接口/類型。

map運營商的默認值爲Object,因爲它似乎。

您可以找到有關anyObject之間的區別就在這裏更多的信息:TypeScript any vs Object