0
我想填充「選擇」使用淘汰賽數據綁定選項的值列表,並將其中一個值默認設置爲「選定」。淘汰賽觀察數組設置選定的值
有兩種服務器的請求,
- 獲取的值(dataRepository.GetLifelines)名單
- 設定值中的一個從列表中選擇。 (dataRepository.GetMockSelectedLifeline)
第一個要求已被解決。數據綁定到選擇工作正常與「選定」值。
我遇到了在列表中設置默認「選定值」的問題。有人可以幫幫我嗎。方法是this.selectValue。它試圖將selectedLifeline設置爲匹配的「名稱」。
function LifelineViewModel() {
this.lifelines = ko.observableArray([{}]);
this.selectedLifeline = ko.observable();
this.updateData = function (data) {
var boundUpdate = bind(function (value) {
this.lifelines.push(value);
}, this);
$.each(data, function (index, item) {
boundUpdate(item);
});
dataRepository.GetMockSelectedLifeline(bind(this.selectValue, this));
}
this.selectValue = function (data) {
this.selectedLifeline = ko.utils.arrayFirst(this.lifelines, function (lifeline) {
return lifeline.Name === data.Name;
});
}
}
LifelineViewModel.prototype.Init = function() {
var boundUpdateData = bind(this.updateData, this);
dataRepository.GetLifelines(boundUpdateData);
}
var bind = function (func, thisValue) {
return function() {
return func.apply(thisValue, arguments);
}
}
感謝馬克。這解決了問題:)是否有關於ko.utils和ko方法的文檔? –
這是一篇很棒的文章,介紹一些最有用的實用功能...... http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html – bflemi3