我有一个单页应用程序,使用knockout进行数据绑定。该单页应用程序中的CAApproval.html视图在viewmodel代码中有一个名为AllCertificates的observablearray。它在页面上正常显示。当您通过单页应用程序页面上的navigation.html部分中的链接导航离开视图,然后返回到CAApproval页面时,上一次访问的值仍在AllCertificates observableArray中,因此在CAApproval视图中显示。
每当用户返回到使用该observablearray的CAApproval页面时,我需要清除AllCertificates observablearray的内容,以便如果用户离开页面并返回,则observablearray的内容为null,因此屏幕上将不显示任何数据。以下是我的viewmodel代码的要点-
每当用户返回到使用该observablearray的CAApproval页面时,我需要清除AllCertificates observablearray的内容,以便如果用户离开页面并返回,则observablearray的内容为null,因此屏幕上将不显示任何数据。以下是我的viewmodel代码的要点-
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的内容?