Задать вопрос
RodgerFox
@RodgerFox

Мифическое наследование с учетом ng-repat,в ангуляре. Какое решение верно?

Приветствую тебя!
Изучая ангуляр, на предворительно созданной задаче столкнулся с крайне не понятной (мифической) наследовательности данных.
В аномалии участвуют: angular 1.4, ui.sortable (удобной сортировке блоков), textAngular (редактор контента).
Есть многомерный массив, его выводим при помощи ng-repeat. В каждом "экземпляре" взятым из массива, имеется поле с контентом которого и работает, при помощи textAngular'a. Для добавления новых блоков использую фичу с клонированием вместе с ui.sortable (для эфект драг дропа), близкий пример (вся суть в идентичном ui-sortable="sortableOptions", для отдельных блоков. Но когда берем из опред. блока и перетаскиваем к остальным элементам выведенных через ng-repeat, через предвариательную копию выбранного элемента возвращаем его назад. т.е. копируем экземпляр.)
Все прекрасно работает, до тех пор пока не редактируем новый экземпляры, перенесенные в основной массив. Как уже можно догадаться или еще нельзя, проблема заключается в дублировании контента на всех скопированных блоках, хотя для них создались свои редакторы, со своими уникальными идентификаторами и т.д.
Где и как можно и нужно отслеживать эту метафизическую связь уже отдельных блоков?
Массив многомерный и у блоки могут и располагаются у разных "родителей".
Спасибо.
p.s. Документацию по редактору читал. Не уверен, что проблема связанна в нем, может есть какая то магия, когда я заношу новый объект в основной массив (с остальными объектами)?

Просили воссоздать задачу: codepen.io/Velentin/pen/RPBxYw (внизу блок "New Element" , его можно и нужно перетащить к другим блокам).
  • Вопрос задан
  • 196 просмотров
Подписаться 2 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
streetflush
@streetflush
Может я не совсем понял, но как вариант хранить 2 массива ID а основной массив с элементами служит для отображения, как справочная таблица?
Т.е. перетаскиваешь неизменную цифирку (id), а потом mainArray[id] для отображения

Upd. -- зря я распинался
UpdUpd.

$scope.newElem = copElem.slice();
Заменить на:
$scope.newElem = angular.copy(copElem);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы