2013-02-27 34 views
0

嗨似乎使用_WidgetBase是一個壞主意。 我在找的是我可以創建實例(具有類按鈕的不同屬性)。Dojo1.8:_WidgetBase對我聽起來不太好

require(["dojo/_base/declare", "dojo/dom","dojo/dom_construct", "dijit/_WidgetBase", dojo/domReady!], 
    function(declare, dom, domConstruct, _WidgetBase) 
    { 
     ready(function() 
     { 
     declare("myBtn", [_WidgetBase], 
      {buildRendering: function() 
    { 
      this.domNode = domConstruct.create('button'); 
    } 
     }); 

     registry.byId(new myBtn(
      {id:'btn1', 
      label:'HelloA'        
     }).placeAt(dom.byId('line1'))); 

     registry.byId(new myBtn(
      {id:'btn2', 
      label:'HelloB'        
     }).placeAt(dom.byId('line2'))); 

     registry.byId(new myBtn(
      {id:'btn3', 
      label:'HelloC'        
     }).placeAt(dom.byId('line3'))); 

     } 
    }); 

所以我想知道是否可以使用_WidgetBase,當我想爲每個按鈕添加不同的屬性?

+0

請參閱我在jsfiddle的工作 - http://jsfiddle.net/clementyap/E73mp/25/ – user1739825 2013-02-27 06:13:12

+0

正如Erikas指出的那樣,爲什麼在dijit/form/Button已經存在的情況下嘗試創建按鈕構件?另外,使用註冊表的方法有哪些?按照您使用註冊表的方式? – Philippe 2013-02-27 14:56:13

+0

爲什麼不從'dijit/form/Button'(而不是_WidgetBase)繼承。您可以覆蓋您需要的功能,添加您自己的功能,根據需要完全自定義它。正如Erikas所說,從_WidgetBase繼承沒有任何問題,但只會給你一個Dijit構件骨架。 – Default 2013-02-28 00:49:37

回答

1

我不確定我是否理解你的問題,而你可以使用dijit/form/button(http://dojotoolkit.org/api/1.8/dijit/form/Button)。如果按鈕只是一個示例,並且您仍然需要擴展_WidgetBase - 回答您的問題是,可以使用它,但是需要編寫更多代碼才能使其具有可配置性和靈活性。