【发布时间】:2017-11-18 12:28:48
【问题描述】:
我想从现有 viewModel 中解析特定元素并将其放入一个新数组中。
我有一个应用程序视图模型,其中包含大量申请人信息。调用方式如下:
self.applications = ko.observableArray(@Html.Json(Model.ApplicationCompatibilities.Select(o => o.JsonForm)) || []);
所以“应用程序”对象中有几个元素,如上图所示。
我想做的是,我只想将“applicationKey”元素检索到一个新数组中。所以我所做的是:
self.previewApplication = ko.computed(function () {
return ko.utils.arrayFilter(self.applications(), function (i) {
return i.application.applicationKey;
});
});
我打算遍历“self.applications()”视图模型并仅返回“application.applicationKey”。但我这样做实际上得到的是:
我只是在新的 viewModel 中获得了相同的“应用程序”对象。 我怎样才能得到一个只有“application.applicationKey”的数组?
谢谢!请帮忙!
编辑:
现在可以了!现在我的 viewModel.previewApplication() 给了我一个 applicationKey 的列表。现在我想做的是,我想添加一个加载模式的链接。在该模式中,我想显示具有特定“applicationKey”的特定“应用程序”
例如,模态框的链接如下所示:
<a href="#" data-toggle="modal" data-target="#previewApplicantModal" data-bind="attr: { 'data-applicationKey': application.applicationKey }">
Preview Application
</a>
所以如果我检查链接的元素,它有一个新的数据绑定:
<a href="#" data-toggle="modal" data-target="#previewApplicantModal" data-bind="attr: { 'data-applicationKey': application.applicationKey }" data-applicationkey="abc976cfx">
Preview Application
</a>
最后,我想遍历“应用程序”对象并仅返回以“abc976cfx”为应用程序键的对象的“一个”元素。
有没有简单的方法来做到这一点?我附上了截图以便更好地解释。
【问题讨论】:
标签: javascript c# mvvm knockout.js