2011-09-12 3 views
0

여기 상황이 있습니다. 우리 회사는 1 년 정도 동안 설치된 위젯 컨트롤을 가지고 있습니다. 위젯에 "검색 기능"을 추가하라는 메시지가 표시됩니다. 지금까지 위젯은 쿠키를 통해 필드가 전달되는 페이지에 있습니다. 그래서 제 질문은 이것입니다, 템플릿 내에서 이전 위젯을 참조하고 런타임에 해당 속성을 할당하는 새로운 위젯을 만드는 방법이 있습니까? 여기 위젯을 새로운 위젯의 자식으로 만들기

는 내 템플릿,

<div> 
<div style="float:left; width:20%; border: 1px solid #CCCCCC;"> 
    <center> 
        Make a Payment 

    </center> 
    <br /> 

     Account Number 

    <br /> 
    <input style="width:85%" type="text" dojoattachpoint="accountNumber" /> 
    <br /> 
    <div class="searchButton">         

    </div> 
</div> 
<div style="float:right; width:79%"> 
    <div id="inquiryWidget" 
     dojoType="company.billing.inquiry" 
     billingAccountNumber="" 
     agencyAccountNumber="" 
     brandId="" 
     waitPanelText="Loading ..." 
     showAccountSummary = "true" 
     showAccountHistory = "false" 
     token="" 
     serviceUrl=""> 
    </div> 
</div>   

내가 뭘하고 싶은 것은 검색 버튼의 OnClick에있을받는 속성을 추가 할 몇 가지 예제

dojo.provide("company.billing.paymentSearch"); 
dojo.require("dijit._Widget"); 
dojo.require("dijit._Templated"); 
dojo.require("company.test.inquiry"); 

dojo.declare( 
    "company.billing.paymentSearch", 
    [dijit._Widget, dijit._Templated], 
{ 
    token: "", 
    serviceUrl: "", 

    templatePath: dojo.moduleUrl( 
     "company.billing", 
     "templates/paymentSearch.html" 
    ), 

    constructor: function(params, node) { 
     var self = this; 

     function onLoad() { 
      self.inquiryWidget.token = self.token; 
      self.inquiryWidget.serviceUrl = self.serviceUrl; 
      self.inquiryWidget.brandId = ""; 
      self.inquiryWidget.agencyAccountNumber = ""; 
      self.inquiryWidget.billingAccountNumber = ""; 


      self.paymentWidget.token = self.token; 
      self.paymentWidget.serviceUrl = self.serviceUrl 
     } 

     dojo.addOnLoad(onLoad); 
    }, 
    paymentSearch: function() { 
     var self = this; 
     self.inquiryWidget.billingAccountNumber = self.accountNumber; 

    } 
} 
); 

입니다 inquiryWidget하고 시작하십시오. 이게 가능한가?

답변

0

당신은 프로그래밍 방식이 같은 위젯을 만들 수 있습니다 다음에 onLoad 함수에서

<div id="inquiryWidget" dojoAttachPoint="inquiryNode"> 

:

템플릿

function onLoad() { 
    self.inquiryWidget = new company.billing.inquiry({ 
     token: self.token, 
     serviceUrl: self.serviceUrl 
    }, self.inquiryNode); 
} 
관련 문제