2017-02-19 78 views
1

我正在關注一個Angular 2教程,其中input元素通過點擊事件傳遞給函數。傳入TypeScript函數的輸入字段的類型是什麼

本教程具有addTodo功能,此簽名爲addTodo(event, todoText){ }。此代碼拋出參數'todoText'的警告具有隱含的'任何'類型。

我想知道是否有一個打字稿對象,我可以代替any一個表示form input control

實施例角2 HTML

<div class="add-todo-form text-center"> 
    <h1>Add ToDo</h1> 
    <div class="form-group"> 
    <input class="form-control input-lg" placeholder="Add Todo.." autofocus #todoText> 
    <br> 
    <button (click)="addTodo($event, todoText)" class="btn btn-primary btn-block">Create</button> 
    </div> 
</div> 

例打字稿

使用
addTodo(event: any, todoText: any){ 
    console.log('xxxxxxxxxxx'); 
    var result: any; 

    var newTodo = { 
    text: todoText, 
    isCompleted: false 
    }; 

    result = this._todoService.saveTodo(newTodo); 

    result.subscribe((x: any)=> { 
    this.todos.push(newTodo); 
    todoText.value = ''; 
    }) 
} 
+1

您可以直接傳遞*值*:'addTodo($ event,todoText.value)'並在方法中將其輸入爲'string'。 – developer033

回答

0

通過@Gunter答案是接近和幫助使我我想要的東西,我是能夠深入到lib.es6.d.ts找到HTMLInputElement延伸HTMLElement

0

如果它是一個組件或指令,則組件或指令的情況下通過,否則HTMLElement

相關問題