首先,我是 Knockout 的新手。有了一些基本的了解。我正在使用 Crossroad 进行路由
这是当前的情况。我从 URL 中获取值作为 param.route().plan。它工作正常
然后将 Value 设置为视图模型中的 Observable。但是,当我从上一个使用 location.href = "checkout/gold" 导航到此路线时,绑定不起作用/值不会更新,其中黄金是计划。但是,如果我重新加载页面,它确实可以正常工作。
PS:视图模型确实按预期工作。我用 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>