возникла ошибка при создании пользовательского виджета в Dojo, не удалось определить причину ошибки - PullRequest
0 голосов
/ 24 января 2020

Я создал собственный виджет для отображения всплывающей подсказки, когда вы нажимаете на значок. Когда я добавляю этот шаблон другого виджета, я получаю "dojo / parser. js: 900 dojo / parser :: parse () error Ошибка: невозможно разрешить конструктор для: '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    

            });
        });

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

somewidget:

<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>

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

больше информации enter image description here

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

1 Ответ

0 голосов
/ 31 января 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...