我對Knockout.js相當陌生,因此這可能是一個愚蠢的問題。將現有的選擇選項綁定到Knockout視圖模型
我在閱讀Bindings文檔,特別是options binding。它說,應用綁定時:
任何以前的選項將被刪除。
有沒有辦法保留現有的選項?
<select data-bind="options: availableOptions, optionsText: 'name', value: selectedOption">
<option value="1">One</option>
<option value="2" selected>Two</option>
</select>
<script type="text/javascript">
var option = function(name, value) {
this.name = name;
this.value = value;
};
var viewModel = {
availableOptions : ko.observableArray([]),
selectedOption : ko.observable()
};
</script>
沒有,沒有乾淨的方法來保護它們。但是分解可用選項並不是一個好主意 - 要麼將整個數據放在視圖模型中,要麼放在視圖中,不要混合使用。你爲什麼需要這個「功能」?也許有更好的/更清潔的方式。 – Niko 2012-04-20 16:54:48
我的主要擔憂是性能:動態添加100個項目而不是使用已經渲染的項目似乎不是一個好主意。特別是在像手機這樣的低功耗場景中。 – DreamSonic 2012-04-20 18:05:22
當它成爲一個問題時,可能會擔心性能......此外,選擇框中的100個項目也不是完全理想的。 – 2012-10-10 19:24:10