Я новичок в Vue.js. Я следил за учебником здесь - https://coligo.io/dynamic-components-in-vuejs/ - на динамических компонентах, чтобы дать мне динамический макет, который мне понравился, для перечисления продуктов и предоставления пользователю возможности переключаться на просмотр, когда они нажимают на один из продуктов в таблице. Итак, у меня есть компонент «список-продукты» и компонент «edit-product», и какой из них отображается, зависит от состояния «currentView» в главном экземпляре Vue.Vue.js динамические компоненты - данные для передачи
<div id="content">
<keep-alive>
<component :is="currentView"></component>
</keep-alive>
</div>
Переключение работает нормально, когда currentView изменен. То, что я не понял, - это то, как лучше передать информацию о продукте в компонент редактирования, чтобы он попадал в данные. Я полагаю, что список и компоненты редактирования - это два родственных компонента основного экземпляра Vue, созданных одновременно. Что мне нужно сделать, когда я нажимаю на строку в таблице листинга, используйте объект продукта, используемый для создания этой строки, доступной для компонента редактирования. Я не уверен, как я это делаю (по крайней мере, по правильному пути Vue). Когда отображаемый компонент переключается (через изменение в «currentView»), какое-то событие вызвано для нового (повторно) отображаемого компонента? Если это так, я мог бы предположительно назвать какую-то функцию?
LATER: Я определил, что «активированный» крюк вызывается, когда я переключаюсь на компонент edit-product, который, я думаю, должен каким-то образом использовать. Теперь, чтобы понять это.
Спасибо, что выглядит неплохо. На данный момент я работаю, хотя и довольно неудовлетворительно, просто установив свойство данных в корневом экземпляре (vm.currentProduct = product) в компоненте списка, а затем используя это свойство для данных в компоненте редактирования. Одна из причуд заключается в том, что keep-alive мешает автоматическому обновлению, поэтому мне нужно сделать «this.product = vm.currentProduct» в «активированном» соединении компонента редактирования, поэтому каждый раз, когда я переключаюсь на него, он обновляется. –