Я относительно новичок в нокауте и задавался вопросом, есть ли лучший способ контролировать видимость двух элементов div, основанных на выборе группы переключателей.Управление видимостью элементов div на основе выбора переключателя
Что я придумал, кажется довольно хрупким, и если бы они были дополнительными вариантами, это решение не масштабировало бы imo.
<label>Total</label><input type="radio" name="toggleGraph" value="total" data-bind="checked: toggleGraph" />
<label>Growth</label><input type="radio" name="toggleGraph" value="growth" data-bind="checked: toggleGraph" />
<div id="total-graph" data-bind="visible: $root.toggleGraph() === 'total'">
Total Graph Here
</div>
<div id="growth-graph" data-bind="visible: $root.toggleGraph() === 'growth'">
Growth Graph Here
</div>
var ViewModel = function() {
var self = this;
self.toggleGraph = ko.observable('total');
}
ko.applyBindings(new ViewModel());
Что вы хотите сказать? В чем проблема с вашим нынешним подходом? Я не вижу ничего плохого в твоем решении, а твои скрипки - просто отлично ... – nemesv
В конечном счете ты ответил на мой вопрос. Я честно не знал, было ли это приемлемым использованием привязки видимости в мире нокаутов. – Jesse
Я не могу говорить за «мир нокаутов», потому что KO - это только хобби для меня, и я никогда не использовал его ни в одном сценарии реального мира :), но я не думаю, что ничего плохого в том, как вы использовали привязку видимости для этого сценария. Поэтому я предложил несколько «рефакторингов», которые могут упростить/уменьшить дублирование в вашем текущем подходе. – nemesv