@Kusmich

Как понять эту функцию angular?

У меня есть json который приходит и который я вставляю в тег. В ангулар применяю функцию: ng-repeat="(key, value) in myObj" которая должна удалить дубли из текста. Но она не срабатывает . Мне нужно знать что я делаю не верно. Ниже приведу функцию ангулар , и json

<h3 ng-repeat="(val.chef) in data['date']">Андрей<br>Скок</h3>


$.getJSON("data.json", function(data) {
                    $.each(data['date'], function(key, val) {
                            $('body h2').empty().append(val.dolznost);;
                            $('.topick').empty().append(val.anotation);
                            $('.date_block').empty().append(val.dataRel);
                            $('.left_block').attr('src', val.url);;
							
								var mayObj = val.chef
						$('h3').each(function(i,elem) {
							$(this).append(mayObj)
							console.log(val.chef)
						
								
					
						})
							
							
							
							
							
							
							
                    });                             
        });
  • Вопрос задан
  • 441 просмотр
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Коль уж беретесь за angular - забудьте о том что бы работать с DOM напрямую. Вообще. Ни при каких обстаятельствах не пытайтесь даже получить доступ к элементу.

Возможно правда что вы пытаетесь перевести код с jquery на angular, но тогда не понятно почему вы привели не JSON а какой-то js код который его разбирает.

которая должна удалить дубли из текста.

ng-repeat это примитив ангуляра для создания элементов для каждого элемента коллекции (массива). Ничего он удалять не должен. Вы это все должны сделать сами, простым Array.filter. Просто на JS. Ангуляр это UI фреймворк, обработка данных должна оставаться на вашей совести.

Мне нужно знать что я делаю не верно

Сделайте все просто на JS. На входе JSON, на выходе требуемая вами коллекция объектов. Затем эту коллекцию уже выводите через ngRepeat + биндинги.

Вся соль ангуляра в том что бы полностью отделить логику обработки данных (что вы там фильтруете и под какие условия) от представления этих данных. Вместо прямой работы с DOM используйте датабиндинг.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Stopy
Мне кажется или вы уже изначально подошли не правильно к разработке, намешали ангулар и jquery, смешали логику и манипуляцию с dom.
Решите задачу на чем-нибудь одном, легче пойдет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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