我有一个使用敲除进行数据绑定的单页应用程序。我的单页应用程序中的 CAApproval.html 视图在视图模型代码中有一个名为 AllCertificates 的可观察数组。它在页面上很好地填充。当您通过单击页面的 navigation.html 部分中的链接离开视图并返回到 CAApproval 页面时,先前访问的值仍在 AllCertificates observableArray 中,因此显示在 CAApproval 视图中。
每次用户返回到使用该 observablearray 的 CAApproval 页面时,我都需要清除 AllCertificates observablearray 的内容,这样如果用户离开页面并返回,则 observablearray 的内容为空,因此不会显示任何数据屏幕。这是我的视图模型代码的亮点-
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)?