Сублимируйте и напишите об этом фанфик.
Ну вот и лишилась я девственности, отчаявшись добиться от своего находящегося в отпуске ментора вменяемого ответа на свои вопросы, и отправившись на stackoverflow. Ну, а пока я в надежде найти того, кто сможет ответить на мой нубский вопрос, спрошу - а нет ли тут случаем кого-то, кто сечет в angularjs? Или знает, у кого еще можно спросить?
Anyone?

@темы: яжпрограммист

Комментарии
17.07.2018 в 18:35

Я везде ищу твой силуэт...
Лучше сразу пости вопрос :shy:
17.07.2018 в 19:43

Сублимируйте и напишите об этом фанфик.
Takaki Tono,
:D с превеликим удовольствием, с частью уже разобралась, вот следующий кусок ребуса))

Суть приложения в том, что есть данные о некоторой компании. К этим данным можно добавить данные о контактных лицах: $scope.company =

Данные в массив contacts добавляются через таблицу:

как только контактное лицо добавлено, ng-repeat должен сгенерировать новую пустую строку для добавления нового контактного лица
я думала это сделать через $scope.$watch, чтобы отслеживать изменения в contacts и при этих изменения, соответственно, пушить пустой объект в массив

теперь вопросы:
как правильно прописывается $scope.$watch для вложенного в массив массива?
Правильно ли это:


как правильно прописывается push для вложенного массива? С обычным все просто и ясно, а вложенный что-то у меня не получается:
скорее всего неправильно:


вот :D
17.07.2018 в 23:36

Я везде ищу твой силуэт...
В первом случае ты почти правильно делаешь. Просто нужно точно указать что именно делать если замечено изменение внутри основного массива и/или дочерних массивах. Вот тут немного об этом пишут: stackoverflow.com/questions/25803170/watchcolle...
Кроме того мне кажется что можно использовать метод $watchCollection если правильно прописать его именно для нестед массива так выйдет менее дорого в плане ресурсов и будет работать только для изменений внутренних массивов (контактов) а не для изменения в основном массиве и всех вложеных.

Во втором случае должно помочь вот это решение для нестед массивов: stackoverflow.com/questions/36938458/angular-pu...

Сразу скажу что сам не мастер по ангуляру и может всё что я написал выше полный бред :gigi: Надеюсь хотя бы направил в нужное русло.
18.07.2018 в 09:20

Сублимируйте и напишите об этом фанфик.
Takaki Tono,

Просто нужно точно указать что именно делать если замечено изменение внутри основного массива и/или дочерних массивах.
для этого у меня как раз функция onContactsChange, которая по идее и должна вызываться при изменениях внутри contacts. но, судя по всему, мой watch не работает, пока даже не входит в цикл проверки.

Кроме того мне кажется что можно использовать метод $watchCollection если правильно прописать его именно для нестед массива так выйдет менее дорого в плане ресурсов и будет работать только для изменений внутренних массивов (контактов) а не для изменения в основном массиве и всех вложеных.

в том-то и вопрос, как это правильно прописать) с простым scope работает идеально, а вот с нестед начинаются проблемы


Во втором случае должно помочь вот это решение для нестед массивов: stackoverflow.com/questions/36938458/angular-pu...

ага, натыкалась уже на это дело)) но надо еще разбираться и разбираться)

Сразу скажу что сам не мастер по ангуляру и может всё что я написал выше полный бред Надеюсь хотя бы направил в нужное русло.
:D спасибо, что хотя бы попробовал, я еще к своему ментору попристаю))
22.07.2018 в 17:37

Сублимируйте и напишите об этом фанфик.
Takaki Tono,
если интересно, вот этот самый пуш:


и все с моим watch было в порядке, кроме того, что я где-то просмотрела лишнюю фигурную скобку, которую, почему-то visual studio code пропустил как родную))
в общем, работает :D
22.07.2018 в 19:27

Я везде ищу твой силуэт...
Молодец! :vo: Рад что смог быть полезным (если смог). В целом всё довольно просто оказалось не даром ангуляр такой популярный среди веб разработчиков :shy: