【发布时间】:2013-09-09 09:59:54
【问题描述】:
我有一个使用敲除进行数据绑定的单页应用程序。我的单页应用程序中的 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)?
【问题讨论】:
标签: knockout.js knockout-2.0 single-page-application