2016-02-17 3 views
0

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

<div class="checkboxAndLabel"> 
    <input type="checkbox" id="{{shape.id}}" name="checkbox" 
     ng-model="shape.isSelected" ng-click="controller.addOrRemoveShape(shape)"/> 
    <label for="{{shape.id}}"></label> 
</div> 

Функция:

myApp.controller('Controller', [ function(){ 
    this.addOrRemoveShape = function(shape){ 
     if (shape){ 
      var isSelected = shape.isSelected; 
      if (isSelected === true){ 
       //ADD SHAPE 
      } 
      else{ 
       //REMOVE SHAPE 
      } 
    } 
    .... 

Эта функция работает идеально. Если я поставлю точку останова - когда я нажму на флажок, я перейду к этой функции.

В другом месте я добавил кнопку. Когда пользователь нажимает на кнопку, некоторые фигуры должны быть добавлены, и, конечно, флажки должны быть проверены.

this.showOrHidePredefinedShapes = function (layer){ 
    var shapes = layer.shapes; 
    for (var i .... shapes.length){ 
     var shape = shapes[i]; 

     shape.isSelected = true; 
     that.addOrRemoveShape(shape); 
    } 
} 

Он работает. Формы рисуются и проверяются флажки. Однако, когда я нажимаю флажок для определенных выбранных фигур, чтобы снять флажок, форма удаляется, но я не могу войти в точку останова, и флажок по-прежнему остается отмеченным. я не понимаю, почему ....

+0

Было бы действительно здорово, если бы вы могли создать демонстрацию скрипки/плункера. –

+0

Наверное, это не причина, но я думаю, что эта «ng-model =» stage.isSelected «'должна иметь форму. Выбирается вместо stage.isSelected, no? .. – aprok

+0

Это действительно форма в реальности. Моя ошибка, когда я скопировал ее сюда. Тем не менее проблема существует – Aviade

ответ

0

Попробую предложить несколько иной подход: ng-repeat все формы на слой и добавьте ng-if на формы их isSelected собственности.

<div class="layer"> 
    <div class="shapes" ng-repeat="layer.shapes"> 
     <div class="shape" ng-if="shape.isSelected"> 
      <!-- render the shape --> 
     </div> 
    </div> 
</div> 
Смежные вопросы