
Alex
10.03.2017
17:41:52
я с этим хуком не работал,но возможно в нём будет правильней узнавать об изменениях внутри компонента
да и ещё
When not to use Components:
for directives that need to perform actions in compile and pre-link functions, because they aren't available
ну да, я тут потыкал

Google

Alex
10.03.2017
17:44:17
если хочешь следить за чем-то внутри компонента - делай это в $doCheck
$doCheck() {
console.log(this.price)
}

Denis
10.03.2017
17:44:49
а чем он отличается от onChanges?

Alex
10.03.2017
17:45:01
ну примерно всем

Denis
10.03.2017
17:45:04
описание пипец мутное

Alex
10.03.2017
17:45:05
смотри

Denis
10.03.2017
17:45:10
в доке

Alex
10.03.2017
17:45:14
у тебя есть компонент
my-comp(foo="vm.mamka" bar="vm.papka")
если ты поменяешь ссылку в vm.mamka\papka - у тебя дёрнется onChanges
ну при условии что foo: '<', bar: '<'
а doCheck у тебя дёрнется в случае если ты в контроллере компонента изменишь что-то, лежащее в this
грубо говоря
constructor($timeout) {$timeout(() => this.price = 1000, 1000)}

Google

Alex
10.03.2017
17:48:42
вот такая штука дёрнет тебе doCheck
onChanges - изменения снаружи, doCheck - внутри

Denis
10.03.2017
17:49:35
я понял.. этот doCheck потный какой то, я мышкой провел по тэгу на странице, он вызвал его 97 раз

Alex
10.03.2017
17:49:47
скорее всего ещё doCheck будет дёргаться при изменении чего, проброшенного через '='
ну значит у тебя есть лисенер, который делает что-то в скопе по mouseOver

Denis
10.03.2017
17:52:16
есть=)

Alex
10.03.2017
17:52:23
ну вот

Denis
10.03.2017
17:52:26
двигает элемент=)

Alex
10.03.2017
17:52:46
надеюсь я помог

Denis
10.03.2017
17:56:33
Да, Вы очень помогли! Хоть в голове все в кучу собралось, благодарю
А чего там в соседнем чате angular обижают?
что он им сделал? ну замороченный немного, но клевый же

Alex
10.03.2017
17:59:26
Представь что ты лыжник, так вот, большинство в том чате - сноубордисты

Denis
10.03.2017
18:04:47
больше похоже что я пи#арст, а они нормальные=)
к лыжникам как то негатива меньше

Alexey
10.03.2017
18:11:38

Alex
10.03.2017
18:12:30

Alexey
10.03.2017
18:12:46
ну и в дальнейшем, при изменении значения примитива к которой биндишься или при изменении ссылки на объект

Denis
10.03.2017
18:27:34
а я говорил что onChanges впереди планеты всей

Google

Denis
10.03.2017
18:28:08
собака=)
Коллеги, поясните пожалуйста, я что то уже плохо соображаю. В контроллере компонента биндинги сразу доступны, или их тоже надо подождать?

Alex
10.03.2017
19:07:19
как переменные - сразу

Denis
10.03.2017
19:14:46
а значения в эти переменные когда подъедут?
Я что то не понял маневра.. где мои данные, алло!
$onInit() - Called on each controller after all the controllers on an element have been constructed and had their bindings initialized (and before the pre & post linking functions for the directives on this element). This is a good place to put initialization code for your controller.
да, место просто супер для инициализации данных

Alex
10.03.2017
19:22:38
как ты получаешь source?

Denis
10.03.2017
19:23:38
дык вон через биндинг
на картинке же целиком компонент

Alex
10.03.2017
19:25:28
я про то место, где ты его прокидываешь в компонент

Denis
10.03.2017
19:25:58
ну как обычно..
хотя я что то уже начал сомневаться что мои представления обычности правильные, как только приложение распухло до десятка компонентов, все привычное стало каким то необычным

Alex
10.03.2017
19:27:20
нуэ
обратись к нему как this.dataSource, и в биндингах так запиши

Denis
10.03.2017
19:28:23
нет, это не причем, через несколько сотых секунд он появляется, data просто префикс
да и отображается он сзнаешь ли

Google

Denis
10.03.2017
19:29:14

Alex
10.03.2017
19:29:48
ну значит он у тебя резолвится и ловить его надо в onChanges

Denis
10.03.2017
19:32:18
да пипец блин, поймай биндинг, че за квест вообще стремный=(

Alex
10.03.2017
19:33:28
не хочешь ловить - прокидывай через =

Denis
10.03.2017
19:33:59
я не понимаю, написано что onInit офигенное место где биндинги прошли инициализацию, что я не так делаю?

Admin
ERROR: S client not available

Denis
10.03.2017
19:35:48
Мне другое интересно, Вы этим же занимаетесь при разработке? Если да, то ок, просто это надо осмыслить
не ужели вот этой херней надо заниматься каждый раз когда мне понадобится поймать биндинг?
Всем добрый день! Кто нибудь знает безкостыльный способ получить DOM элемент на котором например произошел ng-click?

Ivan
12.03.2017
11:00:37
ng-click='vm.click($element)' вроде так

Igor
12.03.2017
18:14:57
Всем привет.
Господа, очень нужен совет. В общем пишу SPA на Angular 1.5.
Есть промис, который обрабатывает получение информации. Описан он в конструкторе контроллера приложения.
Проблема в том, что resolve срабатывает только после какого-то действия на странице (клика, например), а до этого всё будто висит (console.log выводит до действия, но почему-то 2 раза).
Совсем недавно начал изучать сей фреймворк, перерыл всё, что мог - ответа не нашёл.
Может кто-то подсказать, в чем может быть дело?

Каїн
12.03.2017
18:27:57
Эх
Вынеси промис в конфигурацию роутера
Чтобы контроллер не инициализировалая пока промис не отработает

Igor
12.03.2017
18:41:17
Хорошо, сейчас попробую.
Огромное спасибо за помощь :3

Matero
13.03.2017
08:34:44
Всем привет. Решил немного освоить ангуляр и написать ипотечный калькулятор
https://qbin.io/k5tb58r

Pavel
13.03.2017
08:38:03
указал [] при загрузке модуля ? var app = angular.module('Dashboard', []);

Google

Pavel
13.03.2017
08:38:14
это если без зависимостей конечно
но все равно надо

kaflan
13.03.2017
08:38:52

Виктор
13.03.2017
08:40:43

Matero
13.03.2017
08:42:34
сделал по туториалы с главной страницы ангуляра

Pavel
13.03.2017
09:13:50
ну на jsfiddie выложи
или все что ты скинул это все?

Matero
13.03.2017
09:20:12
и тут выясняется что в названии моделей не должно быть нижних подчёркиваний )))
вот из-за этого и были траблы
А как округлять результаты вычислений?
<span id="summ">{{(costEstate-creditAmount)/(creditTerm*12)}}</span>

Alex
13.03.2017
10:34:00
Попробуй обернуть все это внутри {{}} в еще одни скобки и вызвать через точку .toFixed()
Либо отдавай сразу и контроллера вычисленное округленное значение
Либо создай кастомный фильтр

Matero
13.03.2017
10:34:58

Anton
13.03.2017
11:58:53
Кажется я что-то не вкуриваю.
Я добавляю в массив элемент, после добавления перестраивается DOM. Мне нужно чтобы после перестроения DOM происходила прокрутка к новому вставленному элементу. Для этого мне сначала этот DOM-элемент надо как-то получить.
Вставляю в середину массива новый элемент так
self.model.comments.splice(index, 0, result);
А дальше интересное.
console.log(angular.element(document.querySelectorAll('.comments ng-repeat')[index-1]));
тут у меня получается элемент, который находится перед добавленным элементом
console.log(angular.element(document.querySelectorAll('.comments ng-repeat')[index]));
а тут элемент, который после добавленного элемента
Я ухожу в какие-то дебри и всё делаю не так?