Александр
тоже норм. но лучше гардом всё же)
Ilya
Окей. Спасибо. А чем гард будет лучше?
Ilya
В двух словах
Nikita
в кратце ничем
Nikita
но профит есть все же
Nikita
1. ты не вешаешь лишний ватчер
Nikita
2. ты можешь узнать откуда пришел и куда ушел
🐏 Alexander
потому что вочерам не доверяют, плохое влияние ангуляра :)
Nikita
как бы сказать, у тебя роут и так вызвает callback на каждый переход, поэтому лучше им воспользоваться, чем ватчить изменения роута
Nikita
я ватчер предложил потому, что сам использовал его раньше постоянно для такой ситуации, а потом вспомнил про гуарды и начал на них переходить
Ilya
Окей. Спасибо
🐏 Alexander
гуарды - что за слово такое, что значит
Ilya
типа что то кэлбэков
Александр
страж
Ilya
по идеи
Александр
я ватчер предложил потому, что сам использовал его раньше постоянно для такой ситуации, а потом вспомнил про гуарды и начал на них переходить
ну раньше иначе особо и нельзя было. beforeRouteUpdate ввели с 2.2. глянул, когда это было - год назад, однако. быстро время летит
Nikita
по идеи
только не забудь next() в конце прожимать
🐏 Alexander
я с 2,0 :)
Ilya
ну я сделал уже
Nikita
хм, забавно
Nikita
попытался переписать в проекте на beforeRouteUpdate
Nikita
и чето не зашло
Александр
и чето не зашло
что пошло не так?
Nikita
ну сейчас у меня компонент ориентируется на пропсы
Nikita
потому, что в роуте я сделал { props: true }
Nikita
на этот пропс весит ватчер который делает запрос данных
Nikita
и функции которые делали запрос, берут данные из this.props, а не через аргументы
Nikita
и при попытки сделать запрос в beforeRouteUpdate, я получаю старые данные, так как пропс еще не обновился
Nikita
а это значти, мне надо переписать функцию по запросу данных, чтоб она работала с аргументами
Александр
а функция, это метод в этом же компоненте?
Nikita
да
Александр
beforeRouteUpdate (to, from, next) { this.myMethod(to.propName); } не вариант?
Александр
ведь этот метод никто, кроме гарда не вызовет, наверняка
Nikita
не, эта функция как раз без аргументов работала, а сама доставала нужное из this
Nikita
я решил вопрос просто
Nikita
myMethod(props = this.props) {}
Nikita
у меня просто метод вызывается еще же в created
Nikita
можно вместо created, заюзать beforeRouteCreate, но тогда ux поменяется.
Александр
этот компонент по сути является вьюхой? в том смысле, что заточен на роутер?
Nikita
да
Nikita
это страница
Александр
там ещё beforeRouteEnter есть. Может он вместо created сгодится. но у него свои заморочки с this)
Александр
ну тебе наверняка виднее, как там лучше
Александр
есть, но через next()
Nikita
но ux все равно поменяется
Nikita
мне нравится когда сначала произошел переход, а потом запрос данных, а не запрос данных, а потом переход
Александр
а я как раз наоборот сейчас впиливаю. сперва запрос, потом переход
Александр
в том числе из-за code splitting. при переходе ещё и сам async компонент тянется
Nikita
в том числе из-за code splitting. при переходе ещё и сам async компонент тянется
я в одном проекте просто сделал глобальный лоадер
Nikita
для async компонентов
Nikita
типо если переход задерживается на 100 мс, то я открываю лоадер и по beforeEnd (или как там) закрываю лоадер
Nikita
но так как у меня в самом компоненте свой лоадер, то переход между лоадерами не заметин)
Александр
beforeResolve, скорее всего
Nikita
не, beforeEach и afterEach заюзал
Александр
вот да. сижу обдумываю. дважды лоадер в голову лезет. смущает внутреннего перфекицониста
Александр
ладно, спасибо за беседу. пойду кодить)
Nikita
давай
MXLTN
Друзья, как реализовать такую простую вещь: есть компонент, который принимает значальные значения. потом их пользовательн может поменять и по этом упризнаку внутри компонента флаг changed определяется в true, потом если пользователь сохранил значение - я вызываю с родительского компонента update и мне нужно сбросить changed на false где правильно это сделать? updated: function().. не подходит потому что он фаирится когда пользователь меняет значение руками, mounted - не подходит потому что один раз только вызывается.. какой патерн?
Bakir Aitkul
watch: { prop() {} }
Arstanbek
watch: { prop() {} }
оо, а чо так можно было? Уотчить можно еще и пропсы?
Bakir Aitkul
Смотря что вы передаете в пропсы, если объект, то можно
MXLTN
MXLTN
вот тут как раз делаю watch
MXLTN
и первая часть работает
Arstanbek
а разве просы можно биндить?
MXLTN
но когда делается update объекта - перезагрузка с сервера, то changed остается в true
Bakir Aitkul
Смотря что вы передаете в пропсы, если объект, то можно
Если при передаче вы его не клоните с Object.assign
MXLTN
а мне нужно его ставить в false
Arstanbek
Можно v-model указать пропс?
MXLTN
где это првильно делать?
MXLTN
После перезагрузки сами меняйте на false
вот, как отловить внутри компонента ивент "обновился" ?
Arstanbek
Если пропсы можно уотчить, то в теле уотчера я бы сделал копирование из пропсов в дата. Ну и каждый раз какой нибудь рандом-ид передавать, чтобы изменялось адекватно
MXLTN
но обновился объект только от родитлся
Arstanbek
но обновился объект только от родитлся
если уотч работает и с пропсами, то в теле уотчера
Bakir Aitkul
но обновился объект только от родитлся
Пропс не прописывайте на прямую, а делайте через computed