Я уже написал свои собственные виджеты диджита, а также расширил существующий. Это просто создание нового объявления с расширенным виджетами в качестве аргумента и использование собственного, а не расширенного.Как расширить виджеты dojox «старого стиля»?
Однако у меня есть проблема с dojox/form/Uploader
, потому что это виджет «старого стиля» с использованием синтаксиса старого стиля. Вместо того чтобы использовать объект, возвращаемый require
, следует использовать глобальный объект:
require(['dojox/form/Uploader'], function(Uploader){
var u = new dojox.form.Uploader({})
u.startup()
})
Так что, если я хочу продлить этот виджет, и использование ребенка «класса» вместо оригинала, то как я на самом деле сделать что?
Другое дело, я не в полной мере понять, почему Whe нужно использовать этот синтаксис «старый стиль» для dojox/form/Uploader
, потому что она создана с тем же синтаксисом, как «нормальный» виджета:
return declare("dojox.form.Uploader", [Base, Button, HTML5, IFrame, Flash], {
Точка зрения, которая была для меня неясной, заключалась в том, что мне не следует использовать переменную «Uploader», но глобальную ссылку «dojox.form.Uploader». Я не был уверен, к чему обратиться с 'declare'. –
Это несколько сбивает с толку, да. На самом деле, мой ответ тоже запутан, вы, вероятно, не используете глобальный dojox.form.Uploader, так как он действительно возвращает объект «нового стиля» в дополнение к установке глобального dojox.form.Uploader. – Frode