2017-02-19 2 views
1

Я следую учебнику Angular 2, в котором элемент input передается функции через событие click.Каков тип поля ввода, которое передается в функцию 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