Alex
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
Здарова. Есть код, на скриншоте. Он работает в старой версии ангуляра но перестал работать в последней. все нужные ункции вызываются, но одна переменная не вотчится, и потому стейт не меняется. Как это продебажить? Бляха забыл кнопку группировки нажать, сори. лень уже менять
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
🎋🎋🥷 ngSamurai
a self это что?
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
a self это что?
результат испольнения angular.extend
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
а ой не видно, ща
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
a self это что?
вот этот скрин связан с первым. внутри синих скобок лежит метод onClosed
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
$rootScope.$watch("depthy.opened.imageSource", function (newImageSource) { if ($scope.isPageFirstLoad) { console.debug("watch depthy.opened.imageSource") $scope.isLandingPage = !newImageSource; $scope.isPageFirstLoad = false; } }); вот старый вотчер
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
какой кусок мне перенести? вверху твоя версия, внизу то что было
🎋🎋🥷 ngSamurai
тоже что и у тебя
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
не заработало
🎋🎋🥷 ngSamurai
neeee
🎋🎋🥷 ngSamurai
``` $rootScope.$watch(() => { return $rootScope.depthy.opened.imageSource; }, (newImageSource) => { console.debug("watch depthy.opened.imageSource") if ($scope.isPageFirstLoad) { $scope.isLandingPage = !newImageSource; $scope.isPageFirstLoad = false; } }); ```
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
аа
🎋🎋🥷 ngSamurai
значит у тебя объект не меняется
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
🎋🎋🥷 ngSamurai
и как найти почему?
либо байндинг неправильный.. либо там нет детекта изменения
🎋🎋🥷 ngSamurai
тест - <pre>{{xxx | json }}</pre> в том месте где у тебя твой код юзается и смотреть что происходит
🎋🎋🥷 ngSamurai
еще надо смотреть как этот объект пересобирается
🎋🎋🥷 ngSamurai
а
🎋🎋🥷 ngSamurai
стоп
🎋🎋🥷 ngSamurai
сек
🎋🎋🥷 ngSamurai
this._$rootScope.$watch('vmIDC.customUserFondsauswahlListe', () => { // твой код }, true); добавь еще TRUE в конце вотчера!!!
Anton
еее
Anton
дип вотч
🎋🎋🥷 ngSamurai
🎋🎋🥷 ngSamurai
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
?
🎋🎋🥷 ngSamurai
покажи полный скрин функции
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
🎋🎋🥷 ngSamurai
90я строка выше ифа должна быть
🎋🎋🥷 ngSamurai
если и дипвотч не помог, то попробуй дописать $root. перед depthy в вотчере
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
если и дипвотч не помог, то попробуй дописать $root. перед depthy в вотчере
а дело в том что при первой загрузке этот вотчер срабатывает
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
ну когда страница загружается он фаерится и логает мне инфу
🎋🎋🥷 ngSamurai
ну так и правильно же... условие стоит только на первый лоадер
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
спасибо)
🎋🎋🥷 ngSamurai
🎋🎋🥷 ngSamurai
тогда дипвотч убери и проверь еще раз
🎋🎋🥷 ngSamurai
чтобы сильно не нагружать
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
а можно как-то сделать чтоб вотч первый раз не срабатывал когда вся страница загружается?
🎋🎋🥷 ngSamurai
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
🎋🎋🥷 ngSamurai
@rem1te чтото китайцы повадились )))) сиськоноски уже не в теме у спамеров?
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
@rem1te чтото китайцы повадились )))) сиськоноски уже не в теме у спамеров?
есть вопрос один Вот это можно как-то разделить? $rootScope.$watch( '($root.depthy.activePopup.state === "export.gif.options" || $root.depthy.activePopup.state === "export.mp4.options" || $root.depthy.activePopup.state === "export.leiaimageformat.options" || $root.depthy.activePopup.state === "export.depthmap.options" || $root.depthy.activePopup.state === "export.stereoview.options" || $root.depthy.activePopup.state === "export.webm.options" || $root.depthy.exportActive) && $root.depthy.exportSize', Это одна длинная строка
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
если сделать несколько строк и сложить оно ж будет работать?
🎋🎋🥷 ngSamurai
какой то странный воотчер
🎋🎋🥷 ngSamurai
есть вопрос один Вот это можно как-то разделить? $rootScope.$watch( '($root.depthy.activePopup.state === "export.gif.options" || $root.depthy.activePopup.state === "export.mp4.options" || $root.depthy.activePopup.state === "export.leiaimageformat.options" || $root.depthy.activePopup.state === "export.depthmap.options" || $root.depthy.activePopup.state === "export.stereoview.options" || $root.depthy.activePopup.state === "export.webm.options" || $root.depthy.exportActive) && $root.depthy.exportSize', Это одна длинная строка
``` $rootScope.$watch(() => { return ($root.depthy.activePopup.state === "export.gif.options" || $root.depthy.activePopup.state === "export.mp4.options" || $root.depthy.activePopup.state === "export.leiaimageformat.options" || $root.depthy.activePopup.state === "export.depthmap.options" || $root.depthy.activePopup.state === "export.stereoview.options" || $root.depthy.activePopup.state === "export.webm.options" || $root.depthy.exportActive) && $root.depthy.exportSize; }, (isValid) => { console.debug("mega watcher :isValid" + JSON.stringify(isValid)) }); ```
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
это норм синтаксис?
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
вернее. условие колбек
🎋🎋🥷 ngSamurai
а почему у тя вотчер колбек?
да) это для тех случаев когда данные из сервиса вотчить можно или делать какие либо махинации
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
выше ты кидал такое же но там я не понял а тут я понял
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
пасиб
🎋🎋🥷 ngSamurai
вотчер принимает либо строку с байндингом, либо колбэк , но ив колюэке можешь вернуть байндинг .. оно равносильно
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
байндинги такие уродливые если честно
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
особенно в хтмлах
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
оно даже не подкрашивается адекватно
🎋🎋🥷 ngSamurai
`$rootScope.$watch('$root.abc', (abc)=>{})` === `$rootScope.$watch(()=>{return $rootScope.abc}, (abc)=>{})`
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
вот типа иконки например. Синяя и красная это красиво. а для контроллера и хтмла можно так же?
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
вот сервисы тоже кросиво
🎋🎋🥷 ngSamurai
все подсвечивается
🎋🎋🥷 ngSamurai
🎋🎋🥷 ngSamurai
как раз ищу
оно те надо?)
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
оно те надо?)
та не оч)) ахах
🎋🎋🥷 ngSamurai
🎋🎋🥷 ngSamurai
𝖒 𝖊 𝖙 𝖆 𝖒 𝖔 𝖉 𝖊 𝖗 𝖓
jetbrains?