Knockout JS - Observable不会更新加载视图

时间:2017-04-07 10:03:00

标签: javascript knockout.js crossroadsjs

首先,我是Knockout的新手。有一些基本的了解。我正在使用Crossroad进行路由

这是当前的情况。我从URL获取值为param.route()。plan。它确实很好用

然后将值设置为视图模型中的Observable。但是,当我使用location.href =“checkout / gold”导航到此路由时,绑定不起作用/值不会更新,其中gold是计划。但是,如果我重新加载页面,它确实可以正常工作。

PS:View模型确实按预期工作。我用console.log

确认了一倍

现在有些代码 - 重定向到有问题的视图模型的函数

self.selectedPlan = ko.observable(params.route().plan);

看似工作的视图模型

<span data-bind="text:selectedPlan()></span>

查看

{{1}}

1 个答案:

答案 0 :(得分:-2)

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

在这种情况下使用计算的观察值。这保证了在这种情况下的绑定

var self = this;

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

他们的文件非常具有前瞻性