Sheridan
но контрол родительский не апдетится
Rem1te
потому что в него не приходит значение
Sheridan
приходит
Sheridan
Sheridan
это уже из родителя
Sheridan
проблема в том что родительне обновляет себя
Rem1te
this.selected_control_type.id а где присваивается вот это значение?
Rem1te
где оно обновляется ?
Rem1te
в гисте не вижу
Sheridan
Sheridan
Rem1te
выведи под селектом нг модел в интерполяции, узнаем обновляется или нет :)
Sheridan
Если я вызываю это руками из update например то явно вижу 2 в консоли.
Sheridan
либо если ng-change прикручиваю то в обработчике вижу что оно меняется в нужную мне сторону. Но тем не менее контрол на это никак не реагирует, не перерисовывается в нужную сторону (не добавляет кнопку очистки и второй датапикер)
Rem1te
Так ещё раз
Rem1te
Начнем с поведения приложения Есть датапикер и селект Пользователь выбирает что-то в селекте Точное совпадение с айди 1 и Период с айди 2 Если пользователь выбирает что-то с айди 2 то метод date_to_visible должен вернуть тру, и отобразится второй инпут
Rem1te
да?
Sheridan
да?
да, так
Rem1te
окей, и что когда ты выбираешь "Период" то не показывается? В темплейт вывел значение модели?
Rem1te
не в консоли а в темплейте
Rem1te
вот так {{ $ctrl.selected_control_type }}
Sheridan
дада, ща
Sheridan
Sheridan
так ок
Sheridan
это $ctrl.is_empty()
Sheridan
но остальное не перерисовывается
Sheridan
при !is_empty должнв рисоваться кнопка очистки
Rem1te
а в ДОМе её точно нет? может она просто куда-то уехала ?:)
Sheridan
нету
Данияр
доброй ночи
Данияр
здрасти..есть кто?
Eugenio
здрасти..есть кто?
на реакт уже перешел?
Nikolai
Nikolai
Есть еще идеи? )
пакеж оба контроллера и обе вьюхи
Sheridan
пакеж оба контроллера и обе вьюхи
https://gist.github.com/Sheridan/99fa04fb3666b2625cc12a1f7a9ed264
Nikolai
this.update = function(dt) { this.ondatechange(dt); }; ну ёпты. this.update = function(dt) { component.ondatechange(dt); };
Sheridan
нет, сейчас работает
Sheridan
в консоли ошибок нет
Sheridan
более того, вывод значения в темплейт тоже работает
Sheridan
не в консоли а в темплейте
Sheridan
вот так {{ $ctrl.selected_control_type }}
Sheridan
Sheridan
это $ctrl.is_empty()
Sheridan
но остальное не перерисовывается
Nikolai
ondatechange='$ctrl.from_changed.bind($ctrl)'
Nikolai
либо ondatechange: '&', и ondatechange='$ctrl.from_changed()"
Sheridan
ondatechange='$ctrl.from_changed.bind($ctrl)'
тоже не то, пробовал. с & начинают лезть не помню какие уже ошибки. с '<' работает. Дело сейчас не в этом. Дело сейчас в том что при смене значения селекта контрол не перерисовывается, хотя должен. И вывод значения в темплейт ок. Магия какаято...
Nikolai
ой всё
Sheridan
ой всё
Вот специально сейчас проверил
Sheridan
нет, не оно
Sheridan
ничего не поменялось
Sheridan
"не тот" будет при первом вызове так как вызывается вне контекста объекта по ссылке. А потом уже вызывается в контексте объекта и следующий this будет уже тот. Я крестоносец, указатели и ссылки у меня в крови :)
Данияр
Sheridan
> console.log(this)
Sheridan
Дело сейчас не в этом
Sheridan
эта штука работает
Sheridan
в родителя мне значение приходит
Nikolai
ну вот
Sheridan
родитель себя сейчас не обновляет даже по изменению модели собственного контрола
Sheridan
Sheridan
Nikolai
this.date_to_visible = function() { console.log(this.selected_control_type.id); return this.selected_control_type.id == 2; }; this.date_to_visible = function() { console.log(this.selected_control_type.id); return component.selected_control_type.id == 2; };
Sheridan
Nikolai
this в function новый
Nikolai
function это новый объект
Sheridan
нет
Nikolai
да
Sheridan
всмысле нет, так не заработало
Sheridan
ну и да, вдобавок "нет, не новый this, так как контекст не меняется"
Sheridan
да
даже так не работает.
Nikolai
бля, всё. />
Nikolai
делай нормальное закрытие тега
Sheridan
Самозакрытый тег, стандарт xml/html
Sheridan
или тут не так?...
Sheridan
нука...
Nikolai
у тебя xhtml?