Я импортирую jQuery Typeahead (http://www.runningcoder.org/jquerytypeahead/) в мой веб-пакет, и он успешно импортирует, но когда я вызываю функцию, выдает ошибку.
Что странно, если я включаюфайл vendor в каталоге моего приложения, он работает правильно.
Сразу после импорта, если я выполняю console.log (window.Typeahead), он показывает номер версии, поэтому я уверен, что он загружается.
import $ from "jquery"
window.jQuery = $
import "jquery-typeahead"
;(function() {
function createTypeahead(el) {
let field = $(el)
let data = field.data()
field.typeahead({
minLength: 2,
order: "asc",
dynamic: true,
delay: 500,
emptyTemplate: "no result for {{query}}",
source: {
agents: {
display: ["first_name", "last_name", "email"],
templateValue: "{{first_name}} {{last_name}}",
ajax: function(query) {
return {
type: "GET",
url: data.url,
data: {
q: "{{query}}",
},
}
},
},
},
callback: {
onClick: function(node, a, item, event) {
let typeaheadFor = data.typeahead
if (typeaheadFor !== undefined && item["id"].length) {
$("#" + typeaheadFor).val(item["id"])
}
},
},
})
}
$(".js-typeahead").each(function(i, el) {
createTypeahead(el)
})
})()
При загрузке страницы я получаю следующую ошибку в консоли:
Uncaught TypeError: field.typeahead is not a function