Knockout.js 如何让一个依赖项使用另一个依赖项?

Knockout.js 如何让一个依赖项使用另一个依赖项?,knockout.js,Knockout.js,我的视图模型中有一个属性用于select元素。绑定到此select的值的是chosenproduct 现在我想让第三个属性使用chosenproduct上的字段,但是我该怎么做呢 我试过这样的方法,但没有成功: viewModel = { startDateAndTime: ko.observable(new Date()), selectedProduct : products[0], endDateAndTime : ko.observable(new Date(t

我的视图模型中有一个属性用于
select
元素。绑定到此
select
的值的是chosenproduct

现在我想让第三个属性使用chosenproduct上的字段,但是我该怎么做呢

我试过这样的方法,但没有成功:

viewModel = {
    startDateAndTime: ko.observable(new Date()), 
    selectedProduct : products[0],
    endDateAndTime : ko.observable(new Date(this.startDateAndTime).add({minutes: this.selectedProduct.duration})) 
    //the rest goes here

前两个属性可以正常工作,但第三个属性不起作用。

您将为此使用相关的可观测值>

viewModel = {
            startDateAndTime: ko.observable(new Date()), 
            selectedProduct : products[0]
}


viewModel.endDateAndTime = ko.dependentObservable(function () {

return new Date(this.startDateAndTime).add({minutes: this.selectedProduct.duration}));

}, viewModel);

需要注意的重要一点是,一旦您已经声明了
viewModel
(例如,上面我们在
viewModel
声明之外声明了
endDataAndTime
),您就只能添加相关的观测值。Steve(knockoutjs的作者)在“管理这一点”的标题下解释了为什么。

只是看到了相关的观察值。需要尝试一下,我会回来:)