当前位置:   article > 正文

Vue3 setup语法糖 在使用router和vuex时,找不到this怎么办?_在setup语法糖里面没有this,应该怎么使用this.$route.params

在setup语法糖里面没有this,应该怎么使用this.$route.params
  1. import { computed } from 'vue'
  2. import { useStore } from 'vuex'
  3. import { useRoute, useRouter } from 'vue-router'
  4. export default {
  5. setup () {
  6. const store = useStore()
  7. const route = useRoute()
  8. const router = useRouter()
  9. return {
  10. // 在 computed 函数中访问 state
  11. count: computed(() => store.state.count),
  12. // 在 computed 函数中访问 getter
  13. double: computed(() => store.getters.double)
  14. // 使用 mutation
  15. increment: () => store.commit('increment'),
  16. // 使用 action
  17. asyncIncrement: () => store.dispatch('asyncIncrement')
  18. }
  19. }
  20. }

例如,我们想拿到router路由的参数,该怎么办??

  1. //路由
  2. import *as VueRouter from 'vue-router'
  3. //引入组件
  4. import ProductMerchantsRegister from '../pages/register/differentusers/ProductMerchantsRegister.vue'
  5. const routes = [
  6. { path: '/productMerchantsRegister/:id', component: ProductMerchantsRegister },
  7. ]
  8. const router = VueRouter.createRouter({
  9. // 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
  10. history: VueRouter.createWebHashHistory(),
  11. routes, // `routes: routes` 的缩写
  12. })
  13. export default router

用vant3搭建移动端界面代码,to是跳转的路由地址

  <van-button type="success" size="normal" to="/productMerchantsRegister/2" icon="shopping-cart-o">产品商家 </van-button>

我们用vant搭建了一个界面,我们希望单击返回时,在控制台打印id

可以那么写

  1. <template>
  2. <div>
  3. <van-nav-bar
  4. safe-area-inset-top="true"
  5. title="产品商家注册"
  6. left-text="返回"
  7. left-arrow
  8. @click-left="onClickLeft"
  9. />
  10. </div>
  11. </template>
  12. <script setup lang="ts">
  13. import {useRoute} from "vue-router";
  14. const route = useRoute()
  15. const onClickLeft = () => {
  16. console.log(route.params);
  17. };
  18. }
  19. </script>

控制台打印输出 2 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/229188
推荐阅读
相关标签
  

闽ICP备14008679号