gpt4 book ai didi

knockout.js - 如何清除先前访问 View 时填充的 observableArray 的内容

转载 作者:行者123 更新时间:2023-12-03 01:33:36 25 4
gpt4 key购买 nike

我有一个单页应用程序,它使用 knockout 进行数据绑定(bind)。我的单页应用程序中的 CAApproval.html View 在 View 模型代码中有一个名为 AllCertificates 的可观察数组。它在页面上填充得很好。当您通过单击页面的 navigation.html 部分中的链接离开该 View 然后返回 CAApproval 页面时,上次访问的值仍位于 AllCertificates observableArray 中,因此会显示在 CAApproval View 上。

每次用户返回到使用该 observablearray 的 CAApproval 页面时,我需要清除 AllCertificates observablearray 的内容,这样,如果用户离开页面并返回,observablearray 的内容将为 null,因此没有数据屏幕上显示。以下是我的 View 模型代码的亮点 -

define(['services/logger', 'durandal/system', 'durandal/plugins/router', 'services/CertificateDataService','controls/Lucas'],

function(logger, system, router, CertificateDataService) {
var allCertificates = ko.observableArray([]);

var activate = function () {
// go get local data, if we have it
return SelectAllCerts(),SelectMyCerts(), GetCertificateDetails(), GetDDABankNums();
};
var vm = {
activate: activate,
allCertificates: allCertificates,
SelectAllCerts: SelectAllCerts

});

return vm;

function SelectAllCerts() {
return CertificateDataService.getallCertificates(allCertificates);
}
});

每次用户访问该页面时,如何清除 observablearray 的内容(不是在页面本身内导航时,仅当用户来自单独的页面时才清除 observablearray)?

最佳答案

knockout observableArray也有有趣的方法。调用removeAll来清除所有项目。
看官网observable array manual .

self.mycertificates = ko.observableArray(['C1', 'C2']);  
self.mycertificates.removeAll();

关于knockout.js - 如何清除先前访问 View 时填充的 observableArray 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com