雖然我無法從選擇下拉列表中選擇值,但顯示如下,但有以下淘汰視圖模型。我看不出爲什麼,但我可以使用jquery而不是從實際的ko模型中工作?!任何人都可以看到爲什麼這是我的問題?檢索計算函數中的視圖模型值問題
很多很多,謝謝! 剃刀
淘汰賽設置
(function(ns) {
var jsonObject = {
"People": [
{"Selected":false, "Text":"Tom", "Value":"1"},
{"Selected":false, "Text":"Jane", "Value":"2"},
{"Selected":false, "Text":"Sarah", "Value":"2"},
{"Selected":false, "Text":"Olive", "Value":"3"},
{"Selected":false, "Text":"Other", "Value":"4"}]};
var viewModel = new ViewModel(jsonObject);
ko.applyBindings(viewModel);
})(namespace("so.question"));
視圖模型
var ViewModel = (function (dump) {
var panels = {
Area1: {
peopleArray: ko.observableArray(dump.People),
peopleSelected: ko.observable(self.peopleSelected)
}};
return panels;
});
這個作品
panels.Area.get = ko.computed(function() {
return $('#people option:selected').text()) // THIS WORKS
}, this);
失敗
panels.Section1.fullName = ko.computed(function() {
return panels.Section1.) // BUT THIS FAILS!??
}, this);
標記
<!--This markup does show the array correctly-->
<select id="people" data-bind="options: panels.peopleArray, optionsText: 'Text'"></select>
你viewmodel很腥。你可以簡單嗎 –
我可以重構它,但不是現在..你可以說,爲什麼它只適用於jQuery? (我假設你提到'腥',因爲我不使用函數?) – user3773890
這裏是一個小提琴。請修改,以便它可以工作。 http://jsfiddle.net/35SuT/3/。然後我們可以實現實現 –