У меня есть пользовательский атрибут «DatePicker», говорящее оAurelia Webpack DatePicker не является функцией
TypeError: $(...).datepicker is not a function
Я использую скелет-машинопись-Webpack в моей отправной точкой.
datepicker.ts
import {inject, autoinject, customAttribute, DOM} from "aurelia-framework";
import moment from "moment";
import "jquery";
import "jquery-ui";
@customAttribute("datepicker")
@inject(DOM.Element)
export class JqueryUiDatePicker {
constructor(private element: Element) {
moment().format();
}
attached() {
$(this.element)
.datepicker({dateFormat: "DD/MM/YYYY"})
.on("change", e => this.fireEvent((e.target) as Element, "input"));
}
detached() {
$(this.element)
.datepicker("destroy")
.off("change");
}
private fireEvent(element: Element, name: string): void {
const event = this.createEvent(name);
this.element.dispatchEvent(event);
}
private createEvent(name: string): Event {
const event = document.createEvent("Event");
event.initEvent(name, true, true);
return event;
}
}
разметки
<input class="form-control" id="orderDate" datepicker placeholder="Order Date" type="text" value.bind="model.orderDate | dateFormat: 'DD/MM/YYYY'">
Он используется для работы, когда Аурелия была в бета-версии, но после того, как я обновил свой код с последними каркасно typcript-webpack, он перестает работать.
я до сих пор получил подобную ошибку «Необработанное отказ TypeError: (0, _jquery2.default) (.. .) datepicker не является функцией ". В бета-версии webpack.config я не помню, чтобы добавлять jqueryui туда, чтобы заставить его работать. Для Aurelia 1.0 webpack.config я вижу, что есть ссылка на config-global-jquery. Должен ли я делать что-то подобное для jqueryui? – Retard