2015-10-19 1 views
0

Ниже приведен фрагмент кода:Сохранить флажок в состояние углового, когда объем изменяется

<tr ng-repeat="data in ioStatusData"> 
    <td><input type="checkbox"></td> 
    <td>{{data.IOStatusName}}</td> 
    <td>{{data.IOLabel}}</td> 
    <td>{{data.IOStatus}}</td> 
    <td>{{data.TestResult}}</td> 
</tr> 

scope.ioStatusData продолжает обновлять каждые 5 secs.I хочет сохранить флажок состояние (зарегистрированный или незарегистрированный), даже когда scope.ioStatusData изменения.

+0

Возможно, вам нужны данные 'ng-repeat = 'в ioStatusData отслеживает данные. IOStatusName "' (предполагая, что IOStatusName однозначно идентифицирует данные). –

+0

, так как флажок находится внутри ngRepeat, установка ngModel на нем не поможет, потому что это будет обновляться через цикл обновления ngRepeat. Поэтому используйте одно время привязки наряду с ngModel. '.' –

+0

предлагать добавить проверочное значение {IOStatusName: xx, checked: true} и привязать к флажку, когда список изменений возобновит проверенное значение –

ответ

0

Вы должны иметь

<input type="checkbox" ng-model="myCheckboxIsChecked[$index]"> 

и в контроллере:

$scope.myCheckboxIsChecked = []; 

И ваше состояние checbox будет там, даже если значения вашего массива меняются.

+0

@JBNizet Можете ли вы быть более явным. –

+0

Ну, просто попробуйте свое предложение, и вы увидите, что он не работает: http://plnkr.co/edit/ErNxtYbQ8egFCoU9OtAe?p=preview –

+0

@JBNizet будет обновлен, чтобы заставить его работать. –

0

Вы пытаетесь проверить, что строка выбрана или не игнорирует данные. Определить объект в контроллере, которые хранят состояние строки как

$scope.rowState = {}; 

И изменить checkbox модель как

<input type="checkbox" ng-model="rowState['index_' + $index]" /> 

На самом деле ng-repeat создать динамически rowState объект как rowState.index_0, rowState.index_1

Проверьте Demo

+0

Это сработало для меня. Спасибо! – nisha

 Смежные вопросы

  • Нет связанных вопросов^_^