-1

首先,我是 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>
4

1 回答 1

-2

好的,所以得到了答案。也许会帮助某人

在这种情况下使用计算的 observables。这保证在这种情况下具有约束力

var self = this;

    self.firstName = ko.observable('Bob');
    self.lastName = ko.observable('Smith');
    self.fullName = ko.computed(function() {
        return self.firstName() + " " + self.lastName();
    });

他们的文件非常先进

于 2017-04-07T12:34:08.423 回答