我正在尝试使用带有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()方法永远不会被调用。 有没有办法做到这一点,还是只是不支持?
答案 0 :(得分:0)
您不能在Angular 2中使用jQuery typeahead插件,然后尝试使用Angular语法绑定到该事件。
它们是两个完全不同的框架,具有不同的事件系统。它们没有设计 和彼此交谈。
当您使用此语法(typeahead-select)="onSelect()"
时,您使用的是专门针对Angular 2的语法,该语法旨在捕获来自EventEmitter的事件,您无法使用此方法获取jQuery事件语法,这是不可能的。
然而,如果你真的需要以Angular 2不会轻易让你做的方式手动使用DOM,你可以在你的Angular 2代码中加入一些jQuery。这被认为是不好的做法,最好保持在最低限度。
您需要使用ng2-typeahead