пропс, в первом случае пропс присваиваю переменной и потом в computed делаю find на массив в объекте, после возвращаю найденный объект, во втором вызываю напрямую и делаю все тоже самое. В первое случае переменная не обновляется, если окно не рендрится заново, во втором все работает нормально и computed вычисляется каждый раз. Разве передача объекта не происходит по ссылке? Или я не до конца понимаю механизм(
https://vuejs.org/v2/guide/reactivity.html после изменений надо новый обьект отдавать, тогда отрисует
Из описания не очень понятно, что куда кому передаётся
" в первом случае пропс присваиваю .... во втором вызываю напрямую". Пропс - это функция, раз его вызывают? )
> В первое случае переменная не обновляется Что значит не обновляется и почему она должна обновиться? Если в ней был объект из пропса, то он там и останется (по ссылке) > если окно не рендрится заново Как это всё связано с ререндером?
а кстати часто в vue практикуют подход прокидывания функций в пропсах? вот припоминаю, что всгда прокидывал данные, но не функции
можно кейс когда такое нужно, чисто из интереса?
например когда компонент вызывает один из нескольких дочерних компонентов и им нужно выполнить одинаковые методы обработки данных удобнее сделать метод в корневом компоненте, чем копировать код в каждом из дочерних
С ходу не придумаю, на практике не было. Вот тут, кстати, можно почитать про мнение о сравнени коллбеков в событиями во Vue https://markus.oberlehner.net/blog/events-and-callbacks-parent-child-component-communication-in-vue/
почему бы эту обработку данных не сделать сразу в компоненте вместо дочерних?
мало ли какие ограничения, пример гипотетический)
разве не проще эмит эвента наверх и уже в родителе работать ?
> Что значит не обновляется и почему она должна обновиться? Обновится должно в моем понимание, т.к. в пропс передается уже другой объект. > Как это всё связано с ререндером? При первом вызове модального окна(компонента), данные актуальны, если я это окно не закрываю, но вызываю это же окно, но с другими данными(которые передаются в props), тогда данные не обновляется. Про рендер я скзал, т.к. при первичной отрисовки все ок, потом компонент заново не рендрится, а должны обновляться только поля. Надеюсь понятно объяснил)
Если в пропс передаётся другой объект, то почему должен обновиться node, который никак не зависит от пропса после инициализации?
Обсуждают сегодня