过滤knockout.js viewModel

时间:2017-06-15 19:16:57

标签: javascript c# mvvm knockout.js

<a href="#" data-toggle="modal" data-target="#previewApplicantModal" data-bind="attr: { 'data-applicationKey': application.applicationKey }">
 Preview Application
</a>

通过提供data-bind =&#34; attr:{data-applicationKey:application.applicationKey},上面的链接获得了一个新的数据绑定:

data-applicationkey="abc9hansg"

此applicationKey存储在一个名为application的viewModel中,该方法以这种方式调用:

self.applications = ko.observableArray(@Html.Json(Model.ApplicationCompatibilities.Select(o => o.JsonForm)) || []);

我想要做的是,我想过滤原始数组(应用程序)并返回唯一一个与链接绑定的应用程序具有相同applicationKey的应用程序。

换句话说,我想从

中检索applicationKey
data-applicationkey="abc9hansg"

并过滤掉具有此&#34; applicationKey&#34;。

的应用程序

到目前为止我所拥有的是:

                self.previewApplicationKey = ko.observable(null);

                self.previewApplication = ko.computed(function () {
                    return ko.utils.arrayFilter(self.applications(), function (i) {
                        return i.application.applicationKey === self.previewApplicationKey();
                    });
                });

所以我在处理&#34; self.previewApplicationKey&#34;时遇到了问题。并将数据绑定&#34; applicationKey&#34;到这个viewModel。

请帮忙!

编辑:

我想要做的是,我想添加一个加载模态的链接。在该模态中,我想显示特定的&#34;应用程序&#34;具有特定的&#34; applicationKey&#34;

例如,指向模态的链接如下所示:

<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>

最后,我想循环使用&#34;应用程序&#34;对象并仅返回&#34;一个&#34;具有&#34; abc976cfx&#34;的对象元素作为其applicationKey。

有一种简单的方法吗?我附上了截图以便更好地解释。

enter image description here

0 个答案:

没有答案