У меня есть одностраничное приложение, которое использует нокаут для привязки данных. В представлении CAApproval.html в моем одностраничном приложении есть наблюдаемый символ с именем AllCertificates в коде viewmodel. Он заполняется на странице. Когда вы переходите от просмотра, щелкнув ссылку в части navigation.html страницы и затем вернитесь на страницу CAApproval, значения из посещения previouse все еще находятся в наблюдаемом массиве AllCertificates и поэтому отображаются в представлении CAApproval.
Мне нужно очистить содержимое AllCertificates observablearray каждый раз, когда пользователь возвращается на страницу CAApproval, которая использует этот наблюдаемый символ, чтобы, если пользователь покидает страницу и возвращается, содержимое наблюдаемого символа равно 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);
}
});
Как очистить содержимое наблюдаемого символа каждый раз, когда страница пользователя попадает на эту страницу (НЕ при навигации по самой странице, только очистить наблюдаемый символ, когда пользователь приходит с отдельной страницы)?