2013-02-12 4 views
0

Я обращаюсь к angularjs, но кривое обучение кажущийся довольно сложно: ((angularjs обновления элементов модели

Посмотрите на следующую скрипке:

http://jsfiddle.net/ereallstaff/QgEx9/

У меня есть 2 проблемы: 1- класс не отражает ли класс нг заявления

ng-class="{'selectedRow': p.is_active} 

2 - мне нужно, чтобы сделать поток, чтобы сэкономить на дб только выбранный элемент через еп d пользователя. обычно с jquery. Я делаю флажок, применяя класс, и если класс найден, я отправляю данные на сервер.

В этом случае с двухсторонней привязкой, мне просто нужно удалить элемент из модели $ scope.data для отправки на сервер, и все должно быть хорошо.

Но при правильном удалении элемента длина модели остается на уровне 5, в то время как она должна уменьшаться!

Спасибо * выделенный текст *

ответ

1
  1. Ваше состояние должно выглядеть примерно так:

    ng-class="{'selectedRow': p.is_active == '1' } 
    

    иначе класс 'selectedRow' будет добавлена ​​даже если p.is_active является '0'.

  2. Перед отправкой информации на сервер, фильтровать элементы, которые выбраны (путем проверки значения is_active)!

    $scope.selectedOnes = function() { 
        var result = []; 
        angular.forEach($scope.personnel, function(entry) { 
         if (entry.is_active == '1') { 
          result.push(entry); 
         }     
        }); 
        return result; 
    }; 
    

Также отметим, что '1' = 1 (строка = номер).

jsfiddle: http://jsfiddle.net/bmleite/Yjcgh/

+0

да это нормально. Но в конце я действительно не вижу, какая разница с jquery. Наверное, угловатое становится еще более сложным .... спасибо за ваш ответ! – giuseppe

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