我试图通过一些困难的淘汰赛来实现以下目标:
- 绑定一个选择表单元素......这有效
- 通过 ko.observable 显示选定的选项...这有效
- 在 ko.computed 变量中使用 #2 中的 ko.observable...我想不通。
到目前为止,这是我尝试的小提琴。有任何想法吗?
我试图通过一些困难的淘汰赛来实现以下目标:
到目前为止,这是我尝试的小提琴。有任何想法吗?
计算出的 observables 会立即被评估。当您viewModel
在示例中的对象文字中创建变量时,它还不能在您的计算 observable 中使用。
几个选择。像这样写:
var viewModel = {
optionValues: [10, 20, 30],
selectedOptionValue: ko.observable()
};
viewModel.multipledValue = ko.computed(function(){
return this.selectedOptionValue() * 3;
}, viewModel);
ko.applyBindings(viewModel);
或者
var ViewModel = function() {
this.optionValues = [10, 20, 30];
this.selectedOptionValue = ko.observable();
this.multipledValue = ko.computed(function(){
return this.selectedOptionValue() * 3;
}, this);
};
ko.applyBindings(new ViewModel());
此外,selectedOptionValue
它是一个可观察的,因此您可以通过将其作为不带参数的函数调用来读取它的值,例如: this.selectedOptionValue()