如何在 Vue js 中创建一个组件以永远不会删除我添加到其中的数据?当我切换路由时,组件会删除它获得的所有数据
Posted
技术标签:
【中文标题】如何在 Vue js 中创建一个组件以永远不会删除我添加到其中的数据?当我切换路由时,组件会删除它获得的所有数据【英文标题】:How can i make an component in Vue js to never delete the data i added to it? When i switch routes the component delete all the data it got 【发布时间】:2019-08-02 06:26:02 【问题描述】:我在 Vue js 的网上商店工作,当我添加产品时,我使用事件总线,然后我通过事件总线将产品添加到 CartComponent。它可以工作,但是当我返回并添加新产品或只是返回时,页面重新加载我的 CartComponent 中的所有数据都将被删除。我怎么能这样做它永远不会删除它得到的数据?
我尝试用
包围组件<keep-alive>
<CartComponent />
</keep-alive>
但这不起作用。 有人能告诉我如何做到这一点,当我切换路线时组件不会删除数据吗?
【问题讨论】:
【参考方案1】:总线是一个通讯枢纽,它不会为你存储信息。
你有几种方法可以解决这个问题:
实现您自己的模块来存储此信息。当您更新购物车时,也会更新您的模块。或者 使用 Vuex,它作为存储实现。您的所有信息都应该流经商店。它是持久的并且在全球范围内可用。更多关于 Vuex here我强烈推荐使用 Vuex。
【讨论】:
如果我的回答解决了您的问题,请接受回答。以上是关于如何在 Vue js 中创建一个组件以永远不会删除我添加到其中的数据?当我切换路由时,组件会删除它获得的所有数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在输入文本区域中创建 Enter 事件以使用 Vue.js 和 Electron 按下按钮