Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to solve the problem of data loss when router passes params parameters during page refresh by Vue

2025-02-25 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

In this article Xiaobian introduces in detail "Vue how to solve the problem of data loss when router passes params parameters in the page refresh", the content is detailed, the steps are clear, and the details are handled properly. I hope that this article "Vue how to solve the problem of data loss when router passes params parameters in the page refresh" can help you solve your doubts, following the editor's train of thought slowly in depth, together to learn new knowledge.

Vue project: how to solve the problem that router passes params parameters and data is lost when the page is refreshed

For example, our A page has a button, click the button to pass the data to other pages:

Then we can create a new A.vue file with the following code:

ToB

Export default {

Name:'A'

Data () {

Row: {

Name: 'page A'

}

}

Methods: {

ToB () {

This.$router.push ({

Name:'B'

Params: {

Row: this.row

}

})

}

}

}

Then page B accepts the data from page A:

We can create a new B.vue page:

{{row.name}}

Export default {

Name:'B'

Props: ['row']

}

The reason why we can use the props attribute to receive row is that we enable decoupling of routing parameters by setting props to true in the routing profile:

{

Path:'/ B'

Name:'B'

Props: true

Component: import ('B.vue')

}

But if the user suddenly refreshes the B page data will be lost, how do we generally solve it? There are probably three ways:

The first is to use query query to pass parameters: pass data on page A:

This.$router.push ({

Name:'B'

Query: {

Row: JSON.stringify (this.row)

}

})

B page accepts data:

{{JSON.parse ($route.query.row) .name}}

Second: still use params to pass parameters, but must be combined with localstroage cache

For example, page A:

This.$router.push ({

Name:'B'

Params: {

Row: this.row

}

})

B page accepts data: caches the data during the created life cycle and deletes the cache when the page is destroyed

Export default {

Name:'B'

Data () {

Return {

Row: null

}

}

Created () {

Let rowData = localStorage.getItem ('rowData')

If (rowData) {

This.row = this.$route.params.row

LocalStorage.setItem ('rowData', JSON.stringify (this.$route.params.row))

}

}

BeforeDestory () {

LocalStorage.removeItem ('rowData')

}

}

Read this, the "Vue how to solve the router transmission params parameters in the page refresh data loss" article has been introduced, want to master the knowledge of this article also need to practice and use in order to understand, if you want to know more about the article, welcome to pay attention to the industry information channel.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report