Angular 2绑定到自定义事件

时间:2016-12-16 02:03:49

标签: jquery angular

我正在尝试使用带有Angular 2的typeahead jquery插件。

这个插件会发出几个事件,其中一个是'typeahead:select'我要绑定到。

我试过这些

<input class="form-control" id="search" name="search" on-typeahead-select="onSelect()" />

<input class="form-control" id="search" name="search" (typeahead-select)="onSelect()" />

但似乎没有工作,组件中的onSelect()方法永远不会被调用。 有没有办法做到这一点,还是只是不支持?

1 个答案:

答案 0 :(得分:0)

您不能在Angular 2中使用jQuery typeahead插件,然后尝试使用Angular语法绑定到该事件。

它们是两个完全不同的框架,具有不同的事件系统。它们没有设计 和彼此交谈。

当您使用此语法(typeahead-select)="onSelect()"时,您使用的是专门针对Angular 2的语法,该语法旨在捕获来自EventEmitter的事件,您无法使用此方法获取jQuery事件语法,这是不可能的。

然而,如果你真的需要以Angular 2不会轻易让你做的方式手动使用DOM,你可以在你的Angular 2代码中加入一些jQuery。这被认为是不好的做法,最好保持在最低限度。

您需要使用ng2-typeahead