采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,iselect.vue 里面跳转写好后
handleSelect (item) {
location.href = '/'
}
能成功跳转到主页面,但是页面还是定位在原来的城市,这个貌似是在每次请求都调用
http://cp-tools.cn/geo/getPosition?
获取地址,那么这个选位置是不是没有意义了?
请教怎么实现跳转到点击的地址
或者用这个router下的方法去跳转路由/页面,这样页面就不会刷新
this.$router.push({path: '路径名'});
<el-option v-for="item in city" :key="item.value" :label="item.label" :value="item.label">
<nuxt-link style="color:#666" to="/">
<span @click="changeCity(item)">{{item.label}}</span>
</nuxt-link>
</el-option>
直接在循环出来的子项里面添加<nuxt-link style="color:#666" to="/">以达到不刷新又能跳转页面的效果,然后定义一个changeCity方法保存定位到vuex中store的position,这样nuxt跳转页面就不会刷新页面,同时vuex也保存了position。
因为router的mode是history模式,网页地址没了#号,如果你用location.href = '/' 去跳转页面,页面会刷新,导致vuex中store的数据又会被重置,又会变回原来的地位了。
PS:如果不用hisotory模式,可以用location.hash = ‘#/’去跳转,因为路由可以识别到#, 就不会刷新页面
你解决了吗
定位是放在store的啊,你确定请求了两次
你试下咯,看看选中后跳转是什么位置
登录后可查看更多问答,登录/注册
整合大前端8项技术,全面晋级全栈工程师,毕设/面试作品
1.1k 15
1.5k 12
1.3k 12
1.8k 12
2.8k 11