Javascript 敲除类型脚本表不呈现数据
我有一个表,显示发票,然后是一个嵌套表,显示对这些发票进行的单独检查。我正在使用knockout和typescript来呈现这些表。我可以让发票显示,但是支票表不显示数据。以下是迄今为止的代码:Javascript 敲除类型脚本表不呈现数据,javascript,typescript,knockout.js,Javascript,Typescript,Knockout.js,我有一个表,显示发票,然后是一个嵌套表,显示对这些发票进行的单独检查。我正在使用knockout和typescript来呈现这些表。我可以让发票显示,但是支票表不显示数据。以下是迄今为止的代码: <tbody class="nohighlight" data-bind="foreach: parent.bankDrafts"> <tr> <td&g
<tbody class="nohighlight" data-bind="foreach: parent.bankDrafts">
<tr>
<td><span data-bind="text: CheckID"></span></td>
<td><span data-bind="text: CheckRunID"></span></td>
<td><span data-bind="text: VendorName"></span></td>
<td><span data-bind="text: CheckDate"></span></td>
<td><span data-bind="text: FormatCurrency(CheckAmount)"></span></td>
<td><span data-bind="text: Globalize.formatCheckRunApproveStatus(ApprovalStatusID)"></span></td>
</tr>
</tbody>
以下是打字脚本:
namespace CheckRunApproval {
declare let searchParameter: string;
class SearchCheckRunModel {
public searchParameter = ko.observable<string>(searchParameter || null);
public checkRuns = ko.observableArray<CheckRunModel>(null);
public bankDrafts = ko.observableArray<BankDraftInfoModel>();
}
var model = new SearchCheckRunModel();
export function GetBankDrafts(data: CheckRunModel): void {
CheckRunServiceMethods.GetBankDrafts(data.CheckRunID())
.done(bankDrafts => ko.mapping.fromJS(bankDrafts, null, model.bankDrafts));
}
}
namespace CheckRunApproval{
声明searchlet参数:string;
类SearchCheckRunModel{
public searchParameter=ko.observable(searchParameter | | null);
公共checkRuns=ko.observearray(空);
公共银行汇票=ko.observearray();
}
var模型=新的SearchCheckRunModel();
导出函数GetBankDrafts(数据:CheckRunModel):void{
CheckRunServiceMethods.GetBankDrafts(data.CheckRunID())
.done(bankDrafts=>ko.mapping.fromJS(bankDrafts,null,model.bankDrafts));
}
}
这是服务电话:
public static GetBankDrafts(checkrunID: number): JQueryPromise<BankDraftInfo[]> {
return CommonMethods.doAjax<BankDraftInfo[]>(
"/Corp/Checks/CheckRunApprovalWS.asmx/getBankDrafts",
JSON.stringify({ checkrunID }),
"GetBankDrafts"
);
}
publicstaticgetbankdrafts(checkrunID:number):JQueryPromise{
返回CommonMethods.doAjax(
“/Corp/Checks/CheckRunApprovalWS.asmx/getBankDrafts”,
stringify({checkrunID}),
“获取银行汇票”
);
}
现在服务器调用确实到达了服务器端代码,传入了正确的参数并返回了我试图显示为发票一部分的支票列表。但是,表本身没有任何数据
我的想法是,这与我将模型映射到视图模型的方式有关。这也可能是我设置表本身的方式,具有正确的淘汰属性等。任何帮助都将不胜感激
编辑:将parent.bankDrafts更改为$parent.bankDrafts()它解决了这个问题 您的代码中有一个输入错误。在foreach绑定中使用
$parent.bankDrafts
而不是parent.bankDrafts
。你不是说$parent
而不是foreach:parent.bankDrafts
中的parent
而不是parent.bankDrafts
?你总是可以通过这样的技巧来调试视图中的虚拟机:将parent.bankDrafts添加到$parent.bankDrafts(),它起作用了。谢谢大家。我已经添加了它作为一个答案,你可以接受它作为解决