我想在我的optionsText字段中結合兩個返回值,我認爲這很簡單,但我顯然是錯誤的。我也使用正常視圖模型之外的選項字段的值。這是原始的:在knockout.js中設置組合optionsText
<select style="width: 180px" data-bind="visible: false, value: fields.person, options: $root.extra.personList, optionsText: 'FirstName', optionsValue: 'LastName' }, select2: {}">
這工作正常,顯示人的名字和設置值爲姓氏。
這下一塊拋出一個錯誤:
<select style="width: 180px" data-bind="visible: false, value: fields.person, options: $root.extra.personList, optionsText: function (item) { return item.FirstName() + '-' + item.LastName() }, optionsValue: 'LastName', select2: {}">
遺漏的類型錯誤:對象#的特性「姓」是不是一個函數
你確定'FirstName'和'LastName'是可觀察的?如果你不確定,試試這個:'ko.unwrap(item.FirstName)+' - '+ ko.unwrap(item.LastName)' – sroes
我不確定,我會試試看。 – Organiccat
在開始將其添加到視圖中之前,請考慮將該函數移動到視圖模型中並調用它。這將導致_much_更乾淨的代碼。 –