簡體   English   中英

使小部件成為新小部件的子代

[英]Making widget a child of new widget

這是情況。 我公司有一些控件已經使用了一年左右。 我被要求向小部件添加“搜索功能”。 到目前為止,該小部件位於頁面上,其中該字段是通過Cookie傳遞給它的。 所以我的問題是,有沒有一種方法可以創建新的小部件,使其在模板中引用舊的小部件並在運行時分配其屬性?

這是一些樣品

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; 

    } 
} 
); 

那么我的模板將是

<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上,將屬性添加到queryWidget並啟動它。 這樣的事情可能嗎?

您可以通過編程方式創建小部件,如下所示:

在模板中:

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

在onLoad函數中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM