2014-08-25 5 views
0

Я работаю над панелью виджетов в angular и packery.AngularJS изменение переменной области действия из директивы

То, что я пытаюсь сделать, это связать порядок, заданный packery, после перетаскивания элемента в переменную «порядок» области видимости в моих объектах $ scope, чтобы я мог делать такие вещи, как сохранить заказ позже. Я наткнулся на метод $ apply, но я не уверен, как правильно его называть. Я новичок в угловой. Любая помощь оценивается.

scope.$apply(function() { 
     scope.items[i].order = (i + 1); 
    }); 

Пожалуйста, смотрите мой скрипку http://jsfiddle.net/7c3ff83f/4/

ответ

1

Чтобы быть полностью честным, его получение рода запутанным. Вы должны проверить angularjs ui-draggable, который позаботится обо всем этом.

Ваша текущая проблема заключается в том, что вы неправильно отображение между itemElem и индексами,

ТЕПЕРЬ, это не самым лучшим решением, но это демонстрирует проблему у вас возникли:

Измените код :

    var index = parseInt($(itemElem) 
        .find('span.TX') 
        .text()); 

        scope.$apply(function() { 
         scope.items[index].order =i+1; 
        }); 

и добавьте <span class="TX">{{$index}}</span> в шаблон шаблона.

http://jsfiddle.net/xzgc9aq7/

+0

Спасибо! Я знаю, что это беспорядок. Но я не уверен, как правильно отделить логику. Цените помощь. – hyperdrive

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