最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3中關于路由規(guī)則的props配置方式

 更新時間:2024年03月18日 10:14:41   作者:小饅頭學python  
這篇文章主要介紹了Vue3中關于路由規(guī)則的props配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

簡單介紹

在 Vue3 中,使用 Vue Router 進行路由管理時,可以通過配置路由規(guī)則的 props 屬性,將路由參數(shù)傳遞給組件。

這樣可以使路由參數(shù)直接作為組件的屬性,在組件中使用更加方便

在路由配置中使用 props

在定義路由規(guī)則時,可以通過設置 props 屬性來指定如何將路由參數(shù)傳遞給組件。

props 可以是一個布爾值、對象或函數(shù)

props的第一種寫法

我們來回顧一下上節(jié)對于Detail.vue中的代碼,使用的是params參數(shù)

<template>
    <ul class="news-list">
      <li>編號:{{ route.params.id }}</li>
      <li>標題:{{ route.params.title }}</li>
      <li>內(nèi)容:{{ route.params.content }}</li>
    </ul>
  </template>
    
  <script setup lang="ts" name="About">
  import { useRoute } from 'vue-router'
  let route = useRoute()
  </script>
  
  <style scoped>
    .news-list {
      list-style: none;
      padding-left: 20px;
    }
  
    .news-list>li {
      line-height: 30px;
    }
  </style>

如果我們不想在模版中寫route的話,我們需要使用torefs進行結(jié)構(gòu),下面的博客或許會幫助你

Vue3 toRefs和toRef在reactive中的一些應用

修改后的代碼如下,和之前的運行結(jié)果是一樣的

<template>
    <ul class="news-list">
      <li>編號:{{ params.id }}</li>
      <li>標題:{{ params.title }}</li>
      <li>內(nèi)容:{{ params.content }}</li>
    </ul>
  </template>
    
  <script setup lang="ts" name="About">
  import { toRefs } from 'vue'
  import { useRoute } from 'vue-router'
  let route = useRoute()
  let {params} = toRefs(route)
  </script>
  
  <style scoped>
    .news-list {
      list-style: none;
      padding-left: 20px;
    }
  
    .news-list>li {
      line-height: 30px;
    }
  </style>

這樣我們就可以省略了route,但是如果我們還想省略params呢,該怎么做

接下來我們引入props,來實現(xiàn)無需寫route和params

首先我們需要在index.ts中加上一句

再之后我們就在Detail.vue的ts里面加上一句就可以完美的實現(xiàn)之前的代碼了

 <script setup lang="ts" name="About">
 defineProps(['id','title','content'])
  </script>

完整代碼如下

<template>
    <ul class="news-list">
      <li>編號:{{ id }}</li>
      <li>標題:{{ title }}</li>
      <li>內(nèi)容:{{ content }}</li>
    </ul>
  </template>
    
  <script setup lang="ts" name="About">
 defineProps(['id','title','content'])
  </script>
  
  <style scoped>
    .news-list {
      list-style: none;
      padding-left: 20px;
    }
  
    .news-list>li {
      line-height: 30px;
    }
  </style>

上面僅僅是第一種寫法,大概意思就是將路由收到的所有params參數(shù)作為props傳給路由組件

props的第二種寫法

這種寫法是使用函數(shù)的形式

props(route){
            return route.params
          }

當然也是可以使用query的

props(route){
            return route.query
          }

但是使用query別忘了修改點地方

事實證明,也是可以實現(xiàn)的

props的第三種寫法

第三種寫法是對象寫法

  • 對象寫法相對于函數(shù)寫法更加靜態(tài),因為它直接將固定的值傳遞給組件屬性,無法根據(jù)路由的動態(tài)變化來改變傳遞的值。
  • 而函數(shù)寫法可以根據(jù)需要動態(tài)地返回不同的屬性值,更加靈活。
  • 因此,在需要根據(jù)路由動態(tài)變化屬性值的情況下,使用函數(shù)寫法更加合適;而在屬性值固定的情況下,使用對象寫法可能更為簡潔明了

就是較為固定,如果想動態(tài)還是函數(shù)比較好

總結(jié)

通過合理配置路由規(guī)則的 props 屬性,可以使路由參數(shù)更加靈活地傳遞給組件。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue引入部分element.ui組件的一些小坑記錄

    Vue引入部分element.ui組件的一些小坑記錄

    這篇文章主要介紹了Vue引入部分element.ui組件的一些小坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vant時間控件使用方法詳解

    vant時間控件使用方法詳解

    這篇文章主要為大家詳細介紹了vant時間控件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 一文了解axios和vue的整合操作

    一文了解axios和vue的整合操作

    axios作為Vue生態(tài)系統(tǒng)中濃墨重彩的一筆,我學習這個東西也是花了一定的時間的,下面這篇文章主要給大家介紹了關于axios和vue整合操作的相關資料,需要的朋友可以參考下
    2022-04-04
  • Vue3手動清理keep-alive組件緩存的方法詳解

    Vue3手動清理keep-alive組件緩存的方法詳解

    這篇文章主要為大家詳細介紹了Vue3中手動清理keep-alive組件緩存的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • 在vue-cli搭建的項目中增加后臺mock接口的方法

    在vue-cli搭建的項目中增加后臺mock接口的方法

    這篇文章主要介紹了在vue-cli搭建的項目中增加后臺mock接口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Vue實現(xiàn)五子棋小游戲

    Vue實現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作)

    Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作)

    這篇文章主要介紹了Vue中的ref作用詳解(實現(xiàn)DOM的聯(lián)動操作),需要的朋友可以參考下
    2017-08-08
  • vue中的Key值重復問題

    vue中的Key值重復問題

    這篇文章主要介紹了vue中的Key值重復問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue3如何通過ESLint校驗代碼是否符合規(guī)范詳解

    Vue3如何通過ESLint校驗代碼是否符合規(guī)范詳解

    ESLint可以靈活設置規(guī)則,也發(fā)布了很多公開的規(guī)則集,下面這篇文章主要給大家介紹了關于Vue3如何通過ESLint校驗代碼是否符合規(guī)范的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • vue?beforeDestroy?clearInterval清除定時器失效的解決

    vue?beforeDestroy?clearInterval清除定時器失效的解決

    這篇文章主要介紹了vue?beforeDestroy?clearInterval清除定時器失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

新邵县| 阜新| 彩票| 肇庆市| 南丰县| 合山市| 岚皋县| 依兰县| 呼伦贝尔市| 恩施市| 武夷山市| 丹江口市| 宣恩县| 祁门县| 通山县| 新昌县| 金阳县| 南江县| 漯河市| 永吉县| 祁门县| 昔阳县| 马尔康县| 贞丰县| 景谷| 常熟市| 淳化县| 广昌县| 育儿| 柳江县| 普陀区| 延吉市| 柯坪县| 凉山| 庄浪县| 米易县| 巴林右旗| 米脂县| 怀宁县| 八宿县| 顺义区|