
Andrey
07.02.2018
11:01:46


Pavel
07.02.2018
11:43:24
@jashka_jashka
Привет,
Собственно задача какая: Аяксом получаю коллекциб обьевкто с комментариями, после чего они отображаются c помощью ng-repeat. У каждого обьекта есть св-во id, которое я печатаю на странице. Если с бекенда пришел флаг, что нужно проскролить до опредленного елемента, то так же с бекенда приходил id блока, до которого нужен скролл. и Собственно, после того как ng-repeat отредарил все хочу чтоб страницу проскролило до нужного коммента

Remite
07.02.2018
11:53:17
1. ID - это плохо
2. Если это список, то у них есть индекса, рендерите список с одинаковыми, не динамичискими классами, после этого получаете нужный Вам в списке элемент и скролите к нему.
1 проблема отследить когда листинг отрендерился
но помоему $timeout(()=>{});

Google

Remite
07.02.2018
11:54:02
может решить эту проблему
когда он задается без задержки он отрабатывает после рендера
но ето не точно

Sasha
07.02.2018
11:57:12
Не всегда это спасает

Andrey
07.02.2018
13:27:50

Abbos
07.02.2018
13:54:20
$routeProvider.when("!/login", {
templateUrl: 'loginForm.html',
controller: 'loginFormController',
controllerAs: 'vm'
})
выкидывает В otherwise

Pavel
07.02.2018
14:06:49

Ricky
07.02.2018
14:23:03
вечер в хату, ребзя, есть такой вопрос как из эмиттированного скоупом директивы из третьей страницы в главную, через ng-class в шаблоне применить класс стиля по условию нахождения на странице. А то получается, что я нахожусь на главной, нажал на кнопку, событие и стиль отработали, но на другой событие отрабатывает, хотя стиль падает и применяется по условию которое предназначено для главной страницы

John
07.02.2018
14:25:29

() => void 0;
07.02.2018
14:31:50
Просто в новом анугялре есть ts, который худо бедно, но помогает лишний раз не выстрелить себе в ногу)

Google

John
07.02.2018
14:36:29
Рекомендации по сервисам это огромный маппер обьект типо vm.fucntion = function;
аж глаза выпадают )

Alexey
07.02.2018
14:37:34

() => void 0;
07.02.2018
14:37:42

Andrey
07.02.2018
14:37:53
при 2000к вотчеров не тормозил не разу

Таир
07.02.2018
14:37:56

() => void 0;
07.02.2018
14:38:05

Alexey
07.02.2018
14:38:20

Andrey
07.02.2018
14:38:37
есть dart и он еще круще чем ts, но не так популярен

John
07.02.2018
14:38:44

() => void 0;
07.02.2018
14:38:55
да ну?)
Зачем нам ангуляр без декораторов?(((

Sasha
07.02.2018
14:40:25

() => void 0;
07.02.2018
14:40:31

John
07.02.2018
14:41:11
при 2000к вотчеров не тормозил не разу
у меня обычная таблица на связке angularjs + datatables и если 25 row, 13 столбцов, сделал везде ::oneway + 13 фильров сумарно (по одному на колонку) слайд шоу

Remite
07.02.2018
14:41:41
Выполняйте фильтрацию в логике а не на вью

Andrey
07.02.2018
14:41:41
во втором ангуляре в reactive forms тоже есть минусы, это постоянно длинная строка с выводом ошибки, это просто разочаровывает

John
07.02.2018
14:42:48

Andrey
07.02.2018
14:42:51
ясен пень )

Remite
07.02.2018
14:42:56
Я например сейчас работаю с компонентом в котором список обьектов в 5к
и поиск по 4-ом параметрам, и худо бедно жить можно, а если туда ещё виртуал скролл вставить что бы не рендерило сразу 5к элементов то вообще жизнь - сказка :)

Google

Sasha
07.02.2018
14:44:14
Ну у меня все пагинации и фильтрации на бэкенде, я ж бэкендер^^
Я даже не пытался выводить тонну объектов

Andrey
07.02.2018
14:44:36
+

John
07.02.2018
14:44:52
и я понял что AngularJS это явно не любит )

() => void 0;
07.02.2018
14:47:40
И вроде не жаловался))

Алексей
07.02.2018
14:47:48

() => void 0;
07.02.2018
14:47:55
? походу я старичок

John
07.02.2018
14:48:07

() => void 0;
07.02.2018
14:48:31
Мне нравится это в сочетании с новомодными async/await :)

Sasha
07.02.2018
14:49:07

() => void 0;
07.02.2018
14:49:22
Моя клиника начинается с C# :)

Алексей
07.02.2018
14:49:24

() => void 0;
07.02.2018
14:49:56

Алексей
07.02.2018
14:50:12

John
07.02.2018
14:50:34

Sasha
07.02.2018
14:51:21

John
07.02.2018
14:51:57

Sasha
07.02.2018
14:55:35
У меня самая главная проблема с angularjs - это резолв состояния. Особенно, когда необходимо коммуницировать между двумя разными компонентами через сервисы

Google

Sasha
07.02.2018
14:56:01
В итоге получается такое
Ну заменяем контроллеры на компоненты, думаю вы понимаете

John
07.02.2018
14:57:41
ну поцепочечке передавайте промисы

Sasha
07.02.2018
14:58:56
Не, я не про промисы

Andrey
07.02.2018
14:59:17
https://zolotyh.github.io/holyjs/#/

John
07.02.2018
14:59:24
А про какой resolve ?

Sasha
07.02.2018
15:02:46
Например, у нас есть где-нибудь компонент с кнопочкой для перезагрузки данных, который перезагружает данные у 3/10 компонентов внутри дочернего div.
Что мы делаем в таком случае?
Внутри компонента с перезагрузкой инджектим их сервисы:
Component1.reload();
Component2.reload();
Component3.reload();
В итоге, у нас потом все приложение в тоннах инжектированных сервисов
Как тут

John
07.02.2018
15:06:01
и этот ShareService.reload(param...) инжектить в компонент

Sasha
07.02.2018
15:13:51
У меня на самом деле тысячи архитектурных вопросов накопилось ^^

John
07.02.2018
15:19:23
Не делать синглтон
чтобы при открытии создавался новый инстанс
Вот и все решение :)
чето такое http://jsfiddle.net/fE8fX/2/

Sasha
07.02.2018
15:30:54
Не делать синглтон
Ну понятно, это вроде очевидное решение. Но и тут есть подводные камни. Но откуда мы узнаем, что за инстанс нам нужен? Порождать ключи в зависимости от вложенности? Например, у нас 100 форм в форме

John
07.02.2018
15:34:42
ну у каждой формы есть имя

Google

John
07.02.2018
15:34:57
создавать инстанс с таким же именем
потом String(name формы) === String(name инстанса)
если true вот ваше совпадение
и делайте что хотите

Sasha
07.02.2018
15:38:35

John
07.02.2018
15:39:01
неработал с flux-ом

Aliosha
07.02.2018
20:41:02

Andrey
07.02.2018
20:43:55
что в консоли ?

Aliosha
07.02.2018
20:45:13

Andrey
07.02.2018
20:47:01
красным по белому написано
гугли и найдешь ответ

Abbos
07.02.2018
20:47:58
track by index сделай.

Andrey
07.02.2018
20:49:04
вот не нужно просто помогать когда все ясно написано
никто это не запоминает, а дальше и вновь такая ошибка будет появляться не понимая почему она возникла

Abbos
07.02.2018
20:49:31
https://stackoverflow.com/questions/39640160/what-is-track-by-in-angularjs-and-how-does-it-work
Прям под твой случай вот
<ul>
<li ng-repeat="item in [1, 2, 3, 3] track by $index">
{{ item }}
</li>
</ul>