• 首页
  • 人妻人人妻A乱人伦
  • 强伦姧人妻在线看观
  • 男朋友揉我下面很爽
  • 给学生开嫩苞的视频
  • 又粗又黄的A级裸片
  • 热点资讯

    亚洲异族黑人videos它是 Vue3 私有的

    发布日期:2022-10-01 10:47    点击次数:165
    日本avvideo亚洲异族黑人videos

    前端发展百花放,一技未熟百技出。未知那里去下手,眷注小编胜百书。 我是前端人,专注共享前端现实!

    本篇著作东如果,使用 vite 创建一个vue3 式样,执行 vie-router4 vuex4 归并 componsition API 的使用。打算是让未战争过 vue3 的同学快速上手。

    一、vue3.0 创建式样

    vue3 创建项打算时分有两种方式,第一种即是官方保举的 vite 。另外一种即是使用 webpack 创建。

    1.1、vite 创建式样

    vite 需要 Node.js >= 12.x版块。是以使用 vite 搭建式样之前,请先检查 node 版块!

    运行 :$ npm init vite@latest 呐喊,然后按照提醒信息采用创建项打算类型。具体的身手不错参考《什么,你还使用 webpack?他人都在用 vite 搭建式样了》著作。

    也不错通过附加呐喊行选项,指定使用的模板。如:

    npm init vite@latest my-vue-app --template vue 

    使用最新 vite 创建 vue 模板式样。

    式样目次如图所示:

    Vue3 全家桶,从 0 到 1 实战式样,生手有福了 1.2、webpack 创建式样

    使用 vue/cli 脚手架创建 vue3 式样时,需要升级 vue cli v4.5版块!使用 vue -V 检查版块,如果版块过低时,请全局重新安设。

    npm install -g @vue/cli  

    使用呐喊,开动创建式样:

    vue create project-name 
    Vue3 全家桶,从 0 到 1 实战式样,生手有福了

    采用需要创建 vue3 式样,字据提醒创建式样就不错了。

    1.3、vite 与 webpack 比较优舛误

    在本篇著作内,咱们采用 第一种方式 vite 创建一个 learn-vue3 的式样。

    二、vue-router4

    式样创建完成之后,咱们要做的第一件事即是建树路由了,添加路由的时分,需要在 main.js 内引入 router。

    main.js 代码:

    import { createApp } from 'vue' import App from './App.vue'  createApp(App).mount('#app') 

    此时发现与 vue2 的创建实例统统不雷同,vue3 使用的是 createApp ,使用前需要先引入。

    2.1、引入路由

    在 vue3 中使用 vue-router 时,需要安设 vue-router 4 。

    npm install vue-router@4 

    安设之后不错在 package.json 文献中稽查 vue-router 的版块。

    {   "dependencies": {     "vue": "^3.2.25",     "vue-router": "^4.0.12"   } } 

    vue-router 4 的大大宗的 API 是保持不变的,然则在 vue3 中以插件花样存在,是以在创建的时分有一定的改革。

    新建 router 文献夹,新建 index.js 文献

    // 1、按需引入方法 import { createRouter, createWebHashHistory } from "vue-router" // 2、界说一些路由 const routes = [     // 每个路由都需要映射到一个组件 ] //3、创建路由实例 const router = createRouter({   routes,   history:createWebHashHistory("./") })  export default router 

     然后到 main.js 中,将路由挂载到实例上。

    import { createApp } from 'vue' import App from './App.vue' import router from "./router/index"  createApp(App) //系数这个词诓骗复旧路由 .use(router) .mount('#app') 
    2.2、新建组件建树路由

    在 src 目次下,新建 pages 文献夹,新建 index.vue 文献:

    <template>  首页进口 </template

    在 router.js 文献内, 阿立界说路由

    const routes = [  {   path:"/",
    在线   component:()=>import("../pages/index.vue")  } ] 

    然后在 App.vue 文献内添加 router-view 容器。

    <template>   <img alt="Vue logo" src="./assets/logo.png" />   <router-view></router-view> </template

    此时运行项打算时分就能看到新建的 index.vue 的现实了。

    三、vue-router4 归并 composition API 使用 3.1、composition API

    composition API 汉文叫做组合式API,它是 Vue3 私有的,同期 vue3 也好像向下兼容 Options API。

    setup 函数即是 composition API 的进口,是处于人命周期钩子函数 beforeCreate 和 created 两个函数之间,是以 setup 中的属性和方法在外部使用时,需要先 return 暴漏出去。

    修改 index.vue 组件,接管 composition API 。

    <template>  <div>   <input type="text" v-model="msg" />  </div> </template>  <script> export default {  setup() {   const msg = '前端人,前端魂'   return {    msg,   }  } } </script
    3.2、反映式数据

    上述的实例中中,如果咱们在 template 内,打印 msg 的时分,就会发现反映式失效。

    <template>  <div>   <input type="text" v-model="msg" />   {{ msg }}  </div> </template

    是因为在 setup 内地自界说属性不具备反映式工夫。vue3 的反映式旨趣是 通过底层代理 proxy 将数据包装一下,使得具有反映式。vue3 的反映式旨趣笃定可稽查《vue3 学习条记 (五)——vue3 的 setup 若何达成反映式功能?》

    此处 msg 是一个基础数据类型,不错通过 ref 包装下数据,ref 使用之前需要从 vue 中先引入。修改 script 中的代码

    <script> import { ref } from 'vue' export default {  setup() {   const msg = ref('前端人,前端魂')   return {    msg,   }  } } </script

    此时在 input 或在 setup 内改革 msg 的值,灌醉迷葌在线观看如:

    <script> import { ref } from 'vue' export default {  setup() {   const msg = ref('前端人,前端魂')   setTimeout(()=>{    msg.value = "我是前端人"   },3000)   return {    msg,   }  } } </script

    此时非论若何修改 msg 都会保确认时反映。

    与 ref 肖似的还有 reactive 。ref 是让基础数据类型具有反映式,reactive 是让援用数据类型具有反映式。

    3.3、组合式内若何使用路由?

    一个式样中,导航选项卡是很常见的,在 App.vue 文献内,加入两个导航:

    <template>  <router-view></router-view>  <router-link to="/">首页</router-link>  <router-link to="/my">我的</router-link> </template

    如果把上述路由跳转方式修改成 push 时,若何修改呢?

    composition API 内使用路由时,需要先导入 userRouter 方法,调用该方法,生成 router。

    如:

    import { useRouter } from 'vue-router' const router = useRouter() 

    router 是路由【导航对象】。

    想要取妥当前路由时,使用 useRoute 方法,如:

    import { useRoute } from 'vue-router' const route = useRoute() 

     route 是刻下激活的路由气象信息对象,包含系数路由中的参数,params, query 都属于它。

    修改上边路由跳转方式使用 push ,代码如下:

    <script > import { useRouter } from 'vue-router' export default{  setup(){   const router = useRouter()   function go() {    router.push({ path: '/my' })   }   return{    go   }  } } </script>  <template>  <router-view></router-view>  <router-link to="/">首页</router-link>  <button @click="go">我的</button> </template

    路由传参以及参数取得,只需要把之前的 this.$router 换成 router 就不错啦。

    四、vuex 4

    vuex 是专为 vue.js 诓骗顺次缔造的气象处置模式+库。它接管蚁合式存储处置诓骗的系数组件的气象,并以相应的顺次保证气象以一种可揣测的方式发生变化。

    在 vue3 中使用的是 vuex4 。vuex4 提供了和 vuex3 交流的 API 。

    安设:

    npm install vuex@next 

    package.json 检查版块

    "dependencies": {  "vue": "^3.2.25",  "vue-router": "^4.0.12",  "vuex": "^4.0.2" } 
    4.1、引入 vuex 气象处置

    vuex4 创建 store 实例时,使用 createStore 函数创建,createStore 在使用之前需要先引入。

    在 src 目次下,新建 store 文献夹下建 index.js :

    import { createStore } from "vuex"  // 创建新的 store 实例 const store = createStore({  state: {   name:'前端人'  },  getters: { },  mutations: { },  actions: { },  modules: { } })  export default store 

     在 main.js 中将 store 实例当作插件安设。

    import { createApp } from 'vue' import App from './App.vue' import router from "./router/index" import store from "./store/index"  createApp(App).use(router).use(store).mount('#app') 
    4.2、取得气象信息

    在 App.js 文献内,使用气象信息,这与 vuex3 使用方式交流。

    <template>  取得 state 内的气象信息  {{ this.$store.state }}  取得 getters 内的属性  {{ this.$store.getters.getName }} </template

    五、vuex 归并 composition API

    在 组合式 API 中使用 store 时,需要使用 useStore 把 store 引入组件,然后才能操作。

    <script> import { useStore } from 'vuex' export default {  setup() {   const store = useStore()   console.log('store', store.state.name)  }, } </script

    useStore 使用之前,需要先引入,然后调用。

    5.1、操作 vuex 气象信息

    vuex 中同步操作数据是由 commit 调用 mutations 内的方法,异步操作是 dispatch 调用 actions 内的方法。

    示例1:mutations 内方法修改 name 的值。

    // 在 index.js 内 mutations: {  changeName(state,data) {    //data 是传入要修改的值   state.name = data  } }  //App.vue 内 <script> import { useStore } from 'vuex' export default {  setup() {   const store = useStore()   console.log('store', store.state.name)   store.commit('changeName', '我是前端人')   console.log('store', store.state.name)  } } </script

     示例1:actions 内方法修改 name 的值。

    actions 内的方法是莫承诺见告成操作 state 的气象信息,唯有 mutations 内的方法才不错,是以需要调用 mutations 的方法,达成修改 。

    index.js 代码

    import { createStore } from "vuex"  const store = createStore({  state: {   name:'前端人'  },  getters: {   getName(state) {    return state.name   }  },  mutations: {   changeName(state,data) {    state.name = data   }  },  actions: {   changeVal(state) {     // 借用setTimeout 模拟异步操作    setTimeout(() => {     state.commit('changeName','我是前端人')    },2000)   }  },  modules:{} }) export default store 

    App.vue 代码

    <script> import { useStore } from 'vuex' export default {  setup() {   const store = useStore()   store.dispatch('changeVal')  } } </script> <template>  {{ this.$store.state.name }}  {{ this.$store.getters.getName }} </template