關於元件通訊
1.父子元件間傳值
props/$emit
$parent/ children
$ref
2.非父子元件傳值
事件匯流排
//原理就是建立乙個公共的js檔案,專門用來傳遞資訊
import vue from 'vue'
export default new vue()
//在需要傳遞訊息的地方引入
import bus from './util/bus'
//傳遞訊息
bus.$emit('msg', val)
//接收訊息
bus.$on('msg',(val) => );
【總結1】通過事件匯流排傳遞乙個資料
$attrs/$listener
$attrss解決多級元件間傳值的問題
//$atters 將父元件中的不包含props的屬性傳入子元件,通常配合interitattrs選項一起使用
//$listener監聽子元件中資料,傳遞給父元件
【總結2】$attrs/$listene
1.在最外層元件裡面統一傳值,或其他元件裡面傳值
2.在需要接收這個值的元件,接收資料。父元件繫結乙個屬性,就可以在這個元件裡面獲取到所有父元件傳遞過來的資料,可以通過this.$arrts
關於vue-router
1.什麼是路由
路由在我們單頁面應用中,是乙個很重要的角色,它是用來切換元件的。
單頁應用當中,沒有頁面這個概念,因為只有乙個頁面(index.html),通過切換主建來切換跳轉不同頁面的效果,也就是說vue-router是實現元件切換的。
2.路由的跳轉
2.1 router-link
示例**:home //to 要跳轉的路徑
2.2 程式設計式導航
不通過router-link調轉,通過事件的方式來跳轉(函式式)
示例**:this.$router.push() //(是物件
2.3 如何傳遞引數
示例**1:this.$router.push(} )
示例**2:this.$router.push(} ) //動態路由傳參
注意 path和name進行搭配,name和params進行搭配
3.動態路由
商品詳情頁,通過id不同展示不一樣的頁面。
需要在url上面定義乙個引數,用這個引數來獲取id,根據id的不同,來請求不一樣的資料(也就是說定義乙個動態路由)
3.1配置動態路由
3.2獲取引數
示例**:}
4.巢狀路由
需要在乙個元件裡面顯示另外乙個元件
例如:布局,頭部和底部是預設的兩個元件,不同的是中間的部分
例如:在home.vue顯示子元件
1.想在**顯示?在**新增
2.定義子元件路由主鍵]}
5.導航守衛
**如下:
router.beforeeach((to,from,next) =>{
console.log(to.path) //輸出訪問的路由的訪問路徑
next()
Vue 3 元件註冊
上一節實驗中,我們大概了解了一下元件的基礎,這一節實驗我們要深入元件註冊。我們在註冊元件的時候,我們都會給元件起乙個名字,就好像我們人的名字一樣。需要注意的是,我們的元件名字是有一些規範的,一般這種單檔案元件,我們強烈推薦使用字母全小寫且必須包含乙個連字元,全部小寫字母,單詞使用中華線 隔開。例如我...
Vue3元件傳參
總結沒啥好說的,淦就完事了,按照自己的認知簡單的整理了一下vue3的元件傳參 如下 示例 子元件 click childemit 傳值給父元件button div template export default return script 父元件 my emit parentemit child d...
vue3 元件的v model實現
在vue2中,v model val 是 value val 和 input val event.target.value 的語法糖 vue2的自定義元件的v model input元件 父元件 子元件 特殊的元件,比如checkbox元件,通過model屬性指定prop引數和event事件 父元件...