В моей ViewModel я не имею тонны флажков, связанных с простыми строками:Bind флажок для простой строки в Knockout.js
<input type="checkbox" value="CODE" data-bind="checked: itemValue" />
До сих пор я использую наблюдаемый массив для решения истина/ложь значение флажка на значение, что мне нужно:
var viewModel = {
itemValue: ko.observableArray()
};
Какой самый простой и короткий путь, если есть один, чтобы связать флажок на значение строки без необходимости ссылаться как itemValue[0]
?
Что мне нужно, это строковое значение, если отмечено, null, если не отмечено.
В связи с большим количеством наблюдаемых в моем ViewModel, я хотел бы избежать использовать тонны условий как if(itemValue) ...
Fiddle использованием observableArray: https://jsfiddle.net/wu470qup/
Я ценю вашу помощь, действительно, но моя модель-модель глубоко вложена и, кроме того, прибл. ~ 80 компонентов - поэтому в моей ситуации ваше предложение о плоском определении значений не представляется возможным. Я ищу минималистичное решение с меньшим количеством кода и вздутием живота. – deblocker
Хмм, я не думаю, что тогда я действительно понимаю ваш случай. Что-то еще подобное? https://jsfiddle.net/ro2zn0hp/ – user3297291
Что-то, что мой экспорт vm JSON выглядит как {"itemValue": "CODE"}, а не {"itemValue": ["CODE"]}, и я могу ссылаться на него как itemValue, а не itemValue [0] - думать легко как тип ввода = радио без необходимости отображать два варианта – deblocker