前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue3.0再不学就out了!跟我入门第一天,含集成ts、router、vuex等使用方法

Vue3.0再不学就out了!跟我入门第一天,含集成ts、router、vuex等使用方法

作者头像
玖柒的小窝
修改2021-10-08 14:37:07
5030
修改2021-10-08 14:37:07
举报
文章被收录于专栏:各类技术文章~各类技术文章~

1. 如何在vue中集成ts

vue-cli 创建项目时选择ts依赖

  • yarn add typescript 进行安装

vite 安装ts

  • vite--->vue/vue-ts
  • 就可以直接写ts代码了

2. composition API 中 使用vue-router

由于在setup中不能使用this, 因为setup在初始化之前执行的,所以setup无法访问this setup是一个独立的钩子函数,不会依赖vue实例组件,如果用到外部函数,都需要从外部获取 不能再直接访问 this.router或this.router 或 this.router或this.route 作为代替,我们使用useRouter和useRoute函数

  • 2.1创建路由
代码语言:javascript
复制
// 引用两个函数,一个是创建路由对象,一个是路由模式
import {createRouter,createWebHashHistory} from 'vue-router'

// 导出创建路由对象
export default createRouter({
  // 设置路由模式
  history:createWebHashHistory(),
  // 路由信息对象
  routes
})
复制代码
  • 引用
代码语言:javascript
复制
 import {useRouter,useRoute} from 'vue-router'
复制代码
  • 2.2 使用
代码语言:javascript
复制
  setup(props) {
    const router = useRouter()   //等同于this.$router
    const route = useRoute()   //等同于this.$router
  }
复制代码

3. composition API 中 使用vuex

  • vuex也是无法使用this.$store
    • 2.1 引用
代码语言:javascript
复制
 import {useStore} from 'vuex'
复制代码
  • 2.2 使用
代码语言:javascript
复制
  // 在组合api中是不支持辅助函数
  setup() {
    const store = useStore()
// 创建响应式对象,接受一个普通对象,返回一个响应式数据对象
    const data = reactive({
      iscount:computed(()=> store.state.count*2),
      doubelCount:computed(()=> store.getters.doubel)
    })
    // 上下都可
    // const iscount = computed(()=> store.state.count*2)
    // 提交mutations
    const cAdd=()=>{
      store.commit('add')
    }
    const cAddVal=(val)=>{
      store.commit('addVal',val)
    }
    const asyncAdd = ()=>{
      store.dispatch('asyncAdd')
    }
  return{
        ...toRefs(data),
        cAdd,
        cAddVal,
        asyncAdd
      }
  },
复制代码

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 如何在vue中集成ts
  • 3. composition API 中 使用vuex
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档