Vue中通过localStorage存储信息并获取显示到页面中

这两天写了一个日程表功能,包括日程表内容的增加,删除功能。

解决办法一
可以在后端写接口,把日程表的内容写到数据库中,再通过接口从数据库中获取,通过后端的接口来对数据进行增删改查。

解决办法二
这次我没想着做后端接口,因为是写在浏览器首页面中,并且把页面放到服务器上,如果要写在后端中的话,数据就得放在不同的数据库表中,就又得做登录和注册,在我看来,一个浏览器主页面,不应该这么麻烦,所以我这次把信息放在了h5新增的localStorage中,localStorage是用来做本地存储的,与session的区别在于,放在session中的数据,当我们把浏览器关闭后,数据就会自动删除。而放在localStorage中的数据会永久存储,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以通过以下步骤实现: 1. 在图片列表给每张图片绑定一个点击事件,将图片的ID存储到一个变量。 2. 在点击事件通过 `this.$router.push()` 方法跳转到另外一个页面。 3. 在目标页面通过 `$route.params` 获取传递过来的图片ID。 具体实现代码如下: 在图片列表绑定点击事件,将图片ID存储到变量: ``` <template> <div> <div v-for="image in images" :key="image.id" @click="gotoDetail(image.id)"> <img :src="image.src"> </div> </div> </template> <script> export default { data() { return { images: [ { id: 1, src: 'image1.jpg' }, { id: 2, src: 'image2.jpg' }, { id: 3, src: 'image3.jpg' } ], selectedImageId: null } }, methods: { gotoDetail(id) { this.selectedImageId = id this.$router.push('/image-detail/' + id) } } } </script> ``` 在目标页面获取传递过来的图片ID: ``` <template> <div> <img :src="'/images/' + $route.params.id + '.jpg'"> </div> </template> <script> export default { mounted() { console.log(this.$route.params.id) // 输出传递过来的图片ID } } </script> ``` 注意:需要在路由配置将参数设置为动态路由,例如: ``` const routes = [ { path: '/image-detail/:id', name: 'ImageDetail', component: ImageDetail } ] ``` ### 回答2: 在Vue,我们可以通过路由来实现将图片ID通过URL传递到另一个页面。下面是具体的步骤: 1. 首先,在Vue项目安装vue-router插件,可以使用以下命令进行安装: ``` npm install vue-router ``` 2. 在项目的main.js引入vue-router插件: ```javascript import VueRouter from 'vue-router' Vue.use(VueRouter) ``` 3. 创建一个新的页面组件,比如叫做ImageDetail.vue,用于展示图片的详细信息。在这个组件,可以通过 `$route.params` 来获取URL传递过来的参数: ```javascript <template> <div> <h1>图片详细信息</h1> <p>图片ID: {{ $route.params.id }}</p> <!-- 这里展示图片的详细信息 --> </div> </template> <script> export default { // ... } </script> ``` 4. 在项目的router文件夹,创建一个新的router.js文件,用于配置路由。在这个文件,我们需要定义一个路由规则,将点击图片时传递的ID参数加入URL: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import ImageDetail from '../components/ImageDetail.vue' Vue.use(VueRouter) const routes = [ { path: '/images/:id', // 定义URL的参数id name: 'ImageDetail', component: ImageDetail } ] const router = new VueRouter({ routes }) export default router ``` 5. 最后,在main.js将router.js文件引入,并将路由挂载到Vue实例: ```javascript import router from './router/router.js' new Vue({ router, render: h => h(App), }).$mount('#app') ``` 现在,当点击图片列表的某一张图片时,URL会自动跳转到ImageDetail页面,同时传递了图片的ID参数。在ImageDetail组件,我们可以通过 `$route.params.id` 来获取URL的图片ID,并根据需要展示图片的详细信息。 ### 回答3: 在Vue点击图片列表并将图片ID通过URL传递到另一个页面有多种实现方式,下面以以下假设为例进行回答: 假设我们有一个包含多张图片信息的图片列表页面(ListPage),我们需要实现点击列表的某张图片,将其对应的图片ID传递到另一个页面(DetailPage)。 首先,我们可以在ListPage为每张图片添加一个点击事件,并将当前图片的ID作为参数传递给某个处理函数: ```html <template> <div> <ul> <li v-for="image in imageList" :key="image.id" @click="goToDetailPage(image.id)"> <img :src="image.src" alt="图片"> </li> </ul> </div> </template> <script> export default { name: 'ListPage', data() { return { imageList: [ {id: 1, src: '图片1的URL'}, {id: 2, src: '图片2的URL'}, {id: 3, src: '图片3的URL'} ] } }, methods: { goToDetailPage(imageId) { // 使用Vue Router将图片ID通过URL传递到DetailPage this.$router.push(`/detail/${imageId}`); } } } </script> ``` 然后,在路由配置设置DetailPage的路由规则,以接收传递的图片ID: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import DetailPage from '../components/DetailPage.vue' Vue.use(VueRouter) const routes = [ { path: '/detail/:imageId', // 使用动态路由参数:imageId name: 'DetailPage', component: DetailPage } ] const router = new VueRouter({ routes }) export default router ``` 最后,在DetailPage可以通过$route对象获取传递过来的图片ID: ```html <template> <div> <h1>详情页面</h1> <p>当前图片ID:{{ $route.params.imageId }}</p> </div> </template> <script> export default { name: 'DetailPage', } </script> ``` 这样,当我们点击ListPage的某张图片时,Vue Router会自动将点击的图片ID作为URL参数传递到DetailPage,从而在DetailPage可以获取到这个图片ID并进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值