Mam aplikację o pojedynczej stronie, która używa knockout do powiązania danych. Widok CAApproval.html w mojej aplikacji do obsługi pojedynczej strony ma pole obserwowalne o nazwie AllCertificates w kodzie viewmodel. Zapełnia się dobrze na stronie. Po opuszczeniu widoku przez kliknięcie łącza w sekcji navigation.html strony, a następnie powrót do strony CAApproval, wartości z poprzedniej wizyty nadal znajdują się w obserwowalnym obiekcie AllCertificates i dlatego są wyświetlane w widoku CAAperpval.Jak wyczyścić zawartość obserwowalnej tablicy, która została wypełniona poprzednimi odwiedzinami do widoku
Muszę wyczyścić zawartość obserwowalnej karty AllCertificates za każdym razem, gdy użytkownik powróci na stronę CAApproval, która używa tej tablicy obserwacyjnej, tak że jeśli użytkownik opuści stronę i wróci, zawartość obserwowalnego pola jest zerowa, a zatem nie dane są wyświetlane na ekranie. Oto najważniejsze z mojego viewmodel Code
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);
}
});
Jak usunąć zawartość z observablearray każdym razem, gdy strona użytkownik przychodzi do tej strony (a nie podczas nawigowania w samej stronie, tylko wyczyścić observablearray gdy użytkownik pochodzi z oddzielnej strony)?
Perfect! Dzięki. Nadal używam nokautu. – Chris
Wow. Szukałem podobnej odpowiedzi od ponad dwóch dni. Dziękuję bardzo za to! –