Итак, у меня есть одностраничное приложение с бэкэнд Web API, поэтому я извлекаю данные из нескольких конечных точек и поэтому имею несколько вложенных режимов просмотра. Приложение имеет очень модульный дизайн, поэтому получить код здесь немного сложно, но я сделаю все возможное.Ноутаут привязки вложенных режимов просмотра
То, что я пытаюсь сделать, это использовать оператор привязки данных для включения сегмента HTML только в том случае, если условие Condition1 или Condition2 истинно, то часть Im имеет проблемы с тем, что Condition1 и Condition2 находятся в общей модели просмотра, в то время как значения которые я хочу связать, находятся в режиме просмотра сделки, как видно из инструкции «with: deal». Кто-нибудь знает, как я мог это достичь?
ViewModel
var self = this;
self.deal = ko.observable();
self.general = ko.observable();
calculation.getBasicFactsDeal(calculationId, function (data) {
self.deal(mapping.fromJS(data));
var data = self.deal();
});
calculation.getBasicFactsGeneral(calculationId, function (data) {
self.general(mapping.fromJS(data));
var data = self.general();
});
HTML:
<div class="section" data-bind="with: deal">
<div data-bind="if: $root.general().Condition1 || $root.general().Condition2 >
<label >Is this a New Client?</label>
<input type="radio" name="RadioGroup" id="Radio1" value="true" data-bind=" checkedRadioToBool: NewClient" />
<label for="radio1">Yes</label>
<input type="radio" name="KSTProcurmentRadio" id="Radio2" value="false" data-bind=" checkedRadioToBool: NewClient" />
<label for="radio2">No</label>
</div>
</div>