トップバー(HeaderViewModel)とその上に、ログインフォーム(LoginViewModel)でモーダルを開くリンクを持つアプリケーションを作成しました。モーダルが閉じ成功したログイン(AJAX呼び出し)後KnockoutjsのViewModels間で可変状態を共有する
var LoginViewModel = function() {
var self = this;
self.email = ko.observable();
self.password = ko.observable();
self.loggedIn = ko.observable(false);
self.login = function() {
// loggedIn true if ajax succeeded
}
...
}
とHeaderViewModelはノックアウトので、もしLOGGEDIN状態に注意する必要があります。モーダルに割り当てられ
LoginViewModelは、ログイン機能を処理します/ elseステートメントは、ユーザーの役割に従って可視性を処理できます。
#ヘッダー(のみHeaderViewModelに添付):
<!-- ko if: loggedIn --> //loggedIn not known in HeaderViewModel
<p>Visible for logged in users</p>
<!-- /ko -->
app.js:
$(function() {
ko.applyBindings(new HeaderViewModel, $("#header")[0]);
ko.applyBindings(new LoginViewModel, $("#login")[0]);
});
どのように私はこの作業を行うことができますか?
私は両方のソリューションを試しましたが、Knockout-postbox 1には非常に使いやすいと感じていました。ありがとう! – Sam