我的视图模型中有一个属性用于select
元素。绑定到此select
的值是一个选定的产品。
现在我想要第三个属性在所选产品上使用字段,但我该怎么做?
我试过这样的事,没有运气:
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
前两个属性工作正常,但第三个属性不起作用。
答案 0 :(得分:1)
您将使用相关的可观察对象>
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
之后才能添加相关的可观察对象(例如,我们在endDataAndTime
声明之外宣布viewModel
以上)。史蒂夫(knockoutjs的作者)writes在“管理这个”标题下的广泛原因。