Ich habe eine Hauptansicht Modell für meinen Bildschirm. Es besteht aus 2 Kindersichtmodellen.Kind Ansicht Modell modying ein anderes Kind viewmodel
Man behandelt den Registrierungsabschnitt. Man behandelt den Login-Bereich. Ein behandelt den Menüabschnitt (Wenn authentifiziert und welche Menüpunkte können angezeigt werden, sowie die „Welcome‚Benutzername‘Typ Material).
$(document).ready(function() {
// Create the main View Model
var vm = {
loginVm: new LoginViewModel(),
registerVm: new RegisterViewModel(),
layoutVm: new LayoutViewModel()
}
// Get the Reference data
var uri = '/api/Reference/GetTimezones';
$.getJSON({ url: uri, contentType: "application/json" })
.done(function (data) {
vm.registerVm.Timezones(data);
});
// Bind.
ko.applyBindings(vm);
});
Nach meiner Anmeldung Modell‚Login‘Methode abgeschlossen ist, möchte ich festgelegt die „IsAthenticated“ Wert innerhalb des Menü-Modell, sowie einige andere Benutzer Info.
Also in meinem Login-Modell, habe ich eine SignIn Methode.
$.post({ url: uri, contentType: "application/json" }, logindata)
.done(function (data) {
toastr[data.StatusText](data.DisplayMessage, data.Heading);
if (data.StatusText == 'success') {
alert($parent.layoutVm.IsAuthenticated());
}
else {
}
})
.fail(function() {
toastr['error']("An unexpected error has occured and has been logged. Sorry about tbis! We'll resolve it as soon as possible.", "Error");
});
der Alarm Code meinen Tests ist. ich bin Ich hoffe, auf die IsAuthenticated-Eigenschaft von zugreifen (und setzen) das LayoutVM-Modell. Das ist eines der Kindmodelle in meinem Hauptansichtsmodell.
"$ parent" ist jedoch nicht definiert.
Wie kann ich Werte in der LayoutVm von meinem LoginVm aktualisieren?
aktualisieren Ich nehme an, dass ein SignIn Anruf wird nach einer Benutzeraktion getätigt? –