Search code examples
angulartypescripttypeerrorkeyup

angular2 TypeError: self._el_11 is not a function


i want to add event listener to input ,here is my code

<input ref-search (keyup)="search(search.value)">

and search method is

search(condition: string){
    console.log(condition);
}

then when i input something,the browser console log is

TypeError: self._el_11 is not a function
at AppView._View_YwCoffeeListComponent0._handle_click_11_0 (YwCoffeeListComponent.ngfactory.js:217)
at platform-browser.umd.js:1854
at platform-browser.umd.js:1967
at ZoneDelegate.invoke (zone.js:192)
at Object.NgZoneImpl.inner.inner.fork.onInvoke (core.umd.js:8772)
at ZoneDelegate.invoke (zone.js:191)
at Zone.runGuarded (zone.js:99)
at NgZoneImpl.runInnerGuarded (core.umd.js:8805)
at NgZone.runGuarded (core.umd.js:9038)
at HTMLInputElement.i (platform-browser.umd.js:1967)

and YwCoffeeListComponent.ngfactory.js:217 code is

_View_YwCoffeeListComponent0.prototype._handle_click_11_0 = function($event) {var self = this;self.markPathToRootAsCheckOnce();var pd_0 = (self._el_11(self._el_11.value) !== false);return (true && pd_0);};

Solution

  • That's because you define template reference variable with the same name as your method.

    So change it with:

    <input ref-searchInput (keyup)="search(searchInput.value)">