【问题标题】:How can templatized dojo widgets recognize non-dojo attributes?模板化的 dojo 小部件如何识别非 dojo 属性?
【发布时间】:2013-04-11 21:44:43
【问题描述】:

我想创建一个模板化的 dojo 小部件并在如下所示的表单字段中使用它。但是,永远不会设置路径属性。我该怎么做?

HTML

   <form:input id="firstName" path="firstName" data-dojo-type="custom.myWidget"/>

小部件 HTML

   <div>
        <form:errors path="${!path}"/>
    </div>

小部件 JAVASCRIPT

define([
        "dojo/_base/declare", 
        "dijit/form/TextBox", 
        "dijit/_Templated"], 
function(declare, TextBox){

        return declare("custom.myWidget", TextBox,{

                    path:"",      

                    _setPathAttr:function(value){
                        this._set("path",value);
                    }
          });

});

【问题讨论】:

  • ${!path} 是否留在 HTML 中?发生什么了?此外,您似乎需要dijit/_Templated,但实际上并没有在任何地方使用它。我认为您需要阅读此内容-dojotoolkit.org/reference-guide/1.8/dijit/_TemplatedMixin.html
  • 当我检查元素时,它显示如下内容:。我相信 _Templated 是在其他地方的 JS 中使用的,只是没有在这个 sn-p 中。

标签: dojo widget


【解决方案1】:

我不明白你对非 dojo attr 的意思,但你可以使用 dojo 声明性语法设置道具,如下所示:

<form:input id="firstName" data-dojo-type="custom.myWidget" data-dojo-props="path: 'firstName'">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多