knockoutjs 1.3 - observableArray не обновляет представление - PullRequest
1 голос
/ 10 ноября 2011

У меня проблема с knockoutjs.Возможно, я делаю это совершенно неправильно, но у меня есть набор observableArray с данными ajax, и он работает нормально.Однако, когда я снова запускаю ajax, я удаляю все элементы (observableArray.removeAll), который работает нормально, но затем представление просто удваивается - у меня есть все предыдущие элементы + все новые элементы.

Мой html /view выглядит следующим образом (я использую поток управления без контейнеров в бета-версии 1.3)

<div class="rowCollection">     
    <!-- ko foreach: products -->       
        <!-- ko foreach: Stock -->
            <!-- ko if: !DefaultSKU -->
                <div class="row">
                    <div class="cell product" data-bind="html: $parent.ProductName"></div>
                    <div class="cell level">                            
                        <input type="text" data-bind="valueUpdate: 'afterkeydown', bind_stockLevel: $data.StockLevel" />          
                    </div>
                    <div class="cell infinite"><input type="checkbox" data-bind="checked: StockInfinite" tabindex="-1" /></div>
                </div>
            <!-- /ko -->
        <!-- /ko -->    
    <!-- /ko -->         
</div>

Если я удаляю все дочерние операторы foreach, все работает нормально - так что, похоже, проблема вложенности?

Есть идеи?Или это ошибка?Я пытался найти что-нибудь относящееся к этому, но пока не повезло.

Спасибо
Дан

1 Ответ

2 голосов
/ 10 ноября 2011

В настоящее время существует некоторый тип ошибки, связанной с наличием последовательных привязок без контейнеров или с использованием привязок без контейнеров в качестве корневого узла в некоторых случаях. У меня еще не было возможности полностью исследовать его, но недавно я изучил подобный отчет на форумах нокаутов.

Обходной путь - добавить еще один элемент, например: http://jsfiddle.net/rniemeyer/HPSbY/1/

Я позабочусь о том, чтобы я обновил этот ответ, добавив дополнительные сведения или планы исправлений.

...