まず、ノックアウトの初心者です。いくつかの基本的な理解を得た。私はルーティングのためにクロスロードを使用していますKnockout JS - Observableは読み込み時にビューを更新しません
これは現在のシナリオです。 URLからparam.route()。planという値を取得します。それは正常に動作します
値は、ビューモデルでObservableに設定されます。ただし、バインディングは機能しません。/ valueは、以前のlocation.href = "checkout/gold"を使用してこのルートに移動すると更新されません。ここで、goldはプランです。しかし、私がページをリロードすると、正常に動作します。
PS:Viewモデルは正常に動作します。私は今すぐにconsole.log
でいくつかのコードが確認さ倍増 - 動作しているように問題ビューモデル
// Function Handling Subsription
self.subscribe = function() {
alert(self.selectedPlan());
var currentUser = Parse.User.current();
if (currentUser === null) {
$('#loginBox').modal('show');
} else { // Else redirect
location.href = '#checkout/'+self.selectedPlan();
// Redirect to Checkout page
}
} // Function ends here
ビューモデルにリダイレクト機能を
self.selectedPlan = ko.observable(params.route().plan);
ビュー
<span data-bind="text:selectedPlan()></span>
何 'を参照してくださいself'んかなり前進しているような場合には結合を保証しますか? 'self.selectedPlan.subscribe(function(plan){... location.href ="#checkout/"+ plan; ...})' –
var self = this –
サブスクライブ関数を適用することはできません親オブジェクト上。観測可能な値ごとに別々のサブスクライブ関数を手動で作成する必要があります。 – Rajesh