@angular_js

Страница 260 из 325
Stas
18.05.2018
08:28:41
если ангулярщики джс увидят мой код, они сами попросят меня перейти на 2+

Kaster
18.05.2018
08:29:01
Аа

Sergey
18.05.2018
08:29:05
Google
Kaster
18.05.2018
08:29:07
А я не знала

Sergey
18.05.2018
08:29:48


Stas
18.05.2018
08:30:05
бедный совёнок

как там статистику проверять

Sergey
18.05.2018
08:32:03
Да дай погрустить. EOL нг1 объявлен, всё тлен. И статистика и вообще всё.

Stas
18.05.2018
08:32:22
что за еол

Sergey
18.05.2018
08:32:43
EndOfLife

Stas
18.05.2018
08:33:23
а

Sergey
18.05.2018
08:33:25
Конец жизненного цикла ПО. Ну это уже давно понятно было как бы, старые сторонние компоненты заброшены, новые не появлются.

Stas
18.05.2018
08:33:31
земля ему пухом

да правильно, я из за незнания в него забрёл

пусть вообще инфу про него удалят отовсюду

начал знакомиться когда с ангуляром, что-то мне взбрело в голову начать с 1го, но я не знал что они абсолютно разные

Google
Sergey
18.05.2018
08:35:44
Не ну чтобы понять какой нг2+ хороший в принципе надо поесть нг1

Kaster
18.05.2018
08:45:55
на Ng2 кто на чем пишет?js, dark or ts?

Andrey
18.05.2018
08:47:46
TS

dart слабая поддержка в новыч фичах

Kaster
18.05.2018
08:48:21
Ммм

Sergey
18.05.2018
08:49:59
TS
А как же котлин?))

Andrey
18.05.2018
08:50:31
ууу, я бы юзал, но там еще хуже

реально, я бы писал фронт с использованием kotlin, но увы, пока же это как-то хреново

Valera
18.05.2018
08:54:39
Привет Есть компонент





Который реагирует на действие ng-change

По логике, он должен срабатывать только когда значение select изменится

Но почем-то уже при старте приложения он срабатывает много раз



В чем может быть ошибка?

В родительском контроллере функция: $scope.SelectedRow = function(){ console.log('777'); }

Sergey
18.05.2018
08:58:51
А change это чего - колбэк?

Valera
18.05.2018
08:59:09
да

Sergey
18.05.2018
08:59:35
Это у вас он там так задан в отладочных целях?

Google
Valera
18.05.2018
08:59:44
да

смысл в том, что б при вызове компонента в представлении надо в параметре (change) указать имя коллбека, который в родительском контроллере Коллбек должен реагировать на изменение select

Sergey
18.05.2018
09:01:13
А чего вы его не через & передаёте в биндингах?

Valera
18.05.2018
09:01:47
Когда передаю через & - вообще ничего не срабатывает

Sergey
18.05.2018
09:02:08
Покажете пример?

Valera
18.05.2018
09:02:25
Только change: '&',



В консоли пусто после изменения select

Sergey
18.05.2018
09:03:00
Да не, я про рабочий планкр, где это бы воспроизводилось

Valera
18.05.2018
09:03:30
Пока негде :(

Sergey
18.05.2018
09:03:37
Так нам всем было бы легче гораздо)

Valera
18.05.2018
09:03:37
Могу через тим вьювер дать доступ

Sergey
18.05.2018
09:04:10
Ой нет, по тв я пас

Valera
18.05.2018
09:04:52
Возможно, когда ставлю change: '&', Надо в шаблоне как-то изменить эту строку? ng-change="$root.change"

Sergey
18.05.2018
09:05:06
Да

Дёргать $ctrl.change()

Valera
18.05.2018
09:06:51
Уже лучше, спасибо

Но при старте приложения всё равно один раз срабатывает

Sergey
18.05.2018
09:07:45
А у вас модель точно не меняется?

Valera
18.05.2018
09:09:08
У select есть пустое значение <option selected disabled value="">{{'Index.Select'|translate}}</option>

Google
Valera
18.05.2018
09:09:11
Это влияет?

Sergey
18.05.2018
09:09:45
Ну если вы его селектите по дефолту, то да, значение должно поменяться

Если у опшна убрать selected что-нибудь поменятеся?

Valera
18.05.2018
09:12:49
Нет

Sergey
18.05.2018
09:15:34
Помониторьте изменения в $onChanges

А вам там точно = биндинг нужен?

Valera
18.05.2018
09:21:15
для модели?

Sergey
18.05.2018
09:22:33
Ну да

Valera
18.05.2018
09:23:42
Не уверен Работа с моделями только в родительском контроллере

Sergey
18.05.2018
09:26:14
Просто в компонентах вроде через < передают

+ колбэк на изменение

Хотя один хрен для ссылочных типов там ссылка будет

Ну или я тупой и не понимаю или deepCopy надо самому делать и в чём тогда разница

Valera
18.05.2018
09:29:26
Ещё проблема: выбираю 1 пункт списка, в консоль выводится null выбираю второй, в консоль выводится, что выбран первый

То есть вместо только что выбранного почему-то выводится предыдущий выбранный элемент

Valera
18.05.2018
09:31:24
Коллбек: $scope.changeCreditProduct = function(){ console.log('Product:'); console.log($scope.creditProductIndex); }

View: <select-group model="creditProductIndex" my-name="loanType" label="{{'Application.AvailableLoan'|translate}}" change="changeCreditProduct()"> <option selected disabled value="">{{'Index.Select'|translate}}</option> <option ng-repeat="credit in creditProductsData" value="{{$index}}">{{credit.name}}</option> </select-group>



Bohdan
18.05.2018
09:32:28
что за селект гроуп?

Google
Sergey
18.05.2018
09:32:44
Ну компонент же

Valera
18.05.2018
09:32:52


Если не использовать компонент, а сделать обычный select с ng-change="changeCreditProduct()" , то всё работает как надо

Если сделать change: '=', Тоже работает как надо, но срабатывает 2 или 3 раза

Sergey
18.05.2018
09:50:01
Для колбэков не просто так отдельный тип биндинга

Кстати разница между < и = может в том что первый на родителе вотчер не создаёт, хм

Valera
18.05.2018
09:53:27
Если ставлю <, то модель всё время undefined

Sergey
18.05.2018
09:55:42
Потому что в родитель не приходит оповещение об обновлении модели

Вам нужен колбек в дочернем который будет агриться когда модель поменялась

Ну в смысле передача колбэка в дочерний через биндинг

Расширьте ваш changed значением

И в родителе в колбэке принимайте новое значение и кладите его в creditProductIndex

Valera
18.05.2018
10:53:03
Пока только так решил $timeout(function(){ console.log($scope.creditProductIndex); });

Sergey
18.05.2018
10:55:08
Норм

Aibek
18.05.2018
10:55:12
всем привет, сейчас будете ругать) но вопрос) как из контроллера модель в шаблон передать?

Valera
18.05.2018
10:55:40
{{variable}}

В контроллере: $scope.variable = 'data'

Sergey
18.05.2018
10:56:45
В нг1 для передачи есть 100500 способов

Aibek
18.05.2018
10:58:20
angular.module('app').controller('ReviewController', ReviewController); ReviewController.$inject = ['ReviewService']; function ReviewController(ReviewService) { var vm = this; vm.service = ReviewService; vm.models = { reviews: [1,2,3], }; вот как во вьюшке рипитом пройтись по модели reviews)

Sergey
18.05.2018
11:00:31
Если у вас используется темплейт с controllerAs для контроллера, то в темплейте надо обращаться к объекту контроллера через псевдоним, в вашем случае наверное это будет ng-repeat="review in vm.models.reviews"

Aibek
18.05.2018
11:03:14
я без route в темплейте просто пишу ng-controller дальше также vm.models.reviews?

Страница 260 из 325