[英]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.