Как реализовать наследование в виджете JQuery UI
Я пытаюсь наследовать метод от базового виджета к другому виджету. вот мой пример кода
Мой базовый виджет
$(function () {
$.widget("UI.baseWidget", {
options: {
testVal:''
},
_create: function () {
alert(this.option.testVal);
},
});
});
и другой виджет, вызывающий этот базовый виджет
$(function () {
$.widget("UI.MyWidget", $.UI.baseWidget, {
options: {
testVal:''
},
_create: function () {
$.UI.baseWidget.prototype._create.call(this);
}
});
});
и инициализировать код MyWidget '
$('#mydiv').MyWidget({testVal:'test widget'})
Как мы можем передать опцию testVal из MyWidget в вызов baseWidget? и я получаю ошибку что-то вроде
Uncaught TypeError: я не конструктор
Uncaught TypeError: $(...).MyWidget не является функцией
Пожалуйста, помогите мне решить эту проблему. заранее спасибо
1 ответ
Кажется, работает хорошо: я сделал только одно исправление: изменил опцию на опции в alert(this.option.testVal);
и предупреждение с "тестовым виджетом" появилось в порядке. Вы также можете попробовать создать виджет JQuery onReady
и посмотрите, решит ли это проблему, т.е.
$(function () {
$('#myDiv').MyWidget({testVal:'test widget'});
});
Смотрите мой код на https://jsfiddle.net/5gmn6x7k/4/