2013-04-11 110 views
0

我想創建一個模板化的dojo小部件,並在表單字段中使用它,如下所示。但是,路徑屬性永遠不會被設置。我怎麼做?模板化的dojo小部件如何識別非dojo屬性?

HTML

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

WIDGET 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); 
        } 
      }); 

}); 
+1

是否在HTML中留下了「$ {!path}」?怎麼了?另外,你似乎需要'dijit/_Templated',但實際上並沒有在任何地方使用它。我認爲你需要閱讀這個 - https://dojotoolkit.org/reference-guide/1.8/dijit/_TemplatedMixin.html。 – 2013-04-11 22:50:21

+0

當我檢查元素時,顯示如下內容:。我相信_Templated在其他地方的JS中使用,只是不在此片段中。 – user1636997 2013-04-11 22:54:07

回答

0

我不明白什麼是您的平均約非道場ATTR但可以使用道場聲明語法設置道具像這樣:

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