Это не так просто.ViewChild должен использоваться для:
любого класса с декоратором Компонента или Директивы
ссылочной переменной шаблона в виде строки (например, запрос с ViewChild('cmp'))
любой поставщик, определенный в дереве дочерних компонентов текущего компонента (например, ViewChild (SomeService) someService: SomeService)
любой провайдер, определенный с помощью строкового токена (например, ViewChild ('someToken') someTokenVal: любой)
a TemplateRef (например, запрос с шаблоном ViewChild (TemplateRef);)
В вашем случае лучше использовать последний вариант:
<input #testInput >
TS:
...
@ViewChild('testInput') input;
...