столкнулся с ошибкой при создании пользовательского виджета в Dojo, не удалось определить причину ошибки

Я создал собственный виджет для отображения всплывающей подсказки, когда вы нажимаете на значок. Когда я добавляю этот шаблон другого виджета, я получаю сообщение об ошибке «dojo/parser.js:900 dojo/parser::parse()». Ошибка: невозможно разрешить конструктор для: «CustomPopup». Я прилагаю свой код здесь. CustomPopup — это виджет для отображения всплывающей подсказки. (оба html и js находятся в одном каталоге)

CustomPopup.html

  <span id="${id}"   data-dojo-attach-event="onclick: myClickHandler, mouseout: myMouseOut"></span>

CustomPopup.js

define([       
        'dijit/_WidgetBase',
        'dijit/_TemplatedMixin',
        'dijit/_WidgetsInTemplateMixin',  
        'dojo/_base/declare',
        'dojo/on',
        'dijit/registry',
        'dijit/TooltipDialog',
        'dijit/popup',
        'dojo/mouse',
        'dojo/dom',
        'dijit/_AttachMixin',
        'dojo/text!./CustomPopup.html',
        'dojo/parser'

        ],function(  _WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin, declare,on,registry,TooltipDialog,popup,mouse,dom,_AttachMixin,htmlTemplate,
                    parser)
{
return declare([_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,TooltipDialog],{


           templateString    : htmlTemplate,


           myClickHandler: function(e){
                            console.log('hiiii');
                           },
           myMouseOut: function(){
                           console.log('bhhhh');
                           },

_toolTipDialog : null    

            });
        });

Я добавляю этот виджет в другой виджет, чтобы получить всплывающую подсказку, этот HTML-шаблон

какой-нибудь виджет:

<div id="mainId" data-dojo-type="dijit/layout/ContentPane" style="width:100%; height:100%">
    <div data-dojo-type="dijit/form/TextBox" data-dojo-props='diaplayedValue:"10"' id="jet" style="background-color: red;"></div>
    <div data-dojo-type="dijit/form/TextBox" data-dojo-props='displayedValue:"20"' id="jet1" style="background-color: blue;"></div>
    <div  data-dojo-type="CustomPopup" id="klm"></div>

</div>

Я получаю следующую ошибку: введите здесь описание изображения

дополнительная информациявведите здесь описание изображения

так что, может кто-нибудь, пожалуйста, помогите исправить мою ошибку.


person rougedeveloper    schedule 24.01.2020    source источник


Ответы (1)


Вы никогда не должны использовать id для виджетов додзё. Вместо этого используйте data-dojo-attach-point

person Nicolas I    schedule 31.01.2020