Vue中的元件以及路由

2021-09-01 12:42:40 字數 2234 閱讀 8021

為什麼把檢視給元件化拆成一塊一塊的呢?

說白了, 元件就是對區域性檢視的封裝

全域性元件定義的三種方式

使用 vue.extend 配合 vue.component 方法:

var login = vue.extend();

vue.component(『login』, login);

直接使用 vue.component 方法:

vue.component(『register』, );

將模板字串,定義到script標籤種:

同時,需要使用 vue.component 來定義元件:

vue.component('account', );
注意: 元件中的dom結構,有且只能有唯一的根元素(root element)來進行包裹!

元件中展示資料和響應事件

在元件中,data需要被定義為乙個方法,例如:

在子元件中,如果將模板字串,定義到了script標籤中,那麼,要訪問子元件身上的data屬性中的值,需要使用this來訪問;

使用components屬性定義區域性子元件

元件例項定義方式:

使用:is屬性來切換不同的子元件,並新增切換動畫

元件例項定義方式:

// 登入元件

const login = vue.extend();

vue.component(『login』, login);

// 註冊元件

const register = vue.extend();

vue.component('register', register);

// 建立 vue 例項,得到 viewmodel

var vm = new vue(,

methods: {}

});

使用component標籤,來引用元件,並通過:is屬性來指定要載入的元件:

父元件向子元件傳值

元件例項定義方式,注意:一定要使用props屬性來定義父元件傳遞過來的資料

使用v-bind或簡化指令,將資料傳遞到子元件中:

子元件向父元件傳值

原理:父元件將方法的引用,傳遞到子元件內部,子元件在內部呼叫父元件傳遞過來的方法,同時把要傳送給父元件的資料,在呼叫方法的時候當作引數傳遞進去;

父元件將方法的引用傳遞給子元件,其中,getmsg是父元件中methods中定義的方法名稱,func是子元件呼叫傳遞過來方法時候的方法名稱

子元件內部通過this.$emit(『方法名』, 要傳遞的資料)方式,來呼叫父元件中的方法,同時把資料傳遞給父元件使用

目標:主要練習父子元件之間傳值

使用 this.$refs 來獲取元素和元件

什麼是路由

在 vue 中使用 vue-router

匯入 vue-router 元件類庫:

使用 router-link 元件來導航

登入註冊

使用 router-view 元件來顯示匹配到的元件

建立使用vue.extend建立元件

// 4.1 使用 vue.extend 來建立登入元件

var login = vue.extend();

// 4.2 使用 vue.extend 來建立註冊元件

var register = vue.extend();

建立乙個路由 router 例項,通過 routers 屬性來定義路由匹配規則

// 5. 建立乙個路由 router 例項,通過 routers 屬性來定義路由匹配規則

var router = new vuerouter(,

]});

使用 router 屬性來使用路由規則

設定路由高亮

設定路由切換動效

在路由規則中定義引數

在規則中定義引數:

通過 this.$route.params來獲取路由中的引數:

var register = vue.extend();

使用 children 屬性實現路由巢狀

命名檢視實現經典布局

標籤**結構:

js**:

css 樣式:

watch屬

vue路由使用以及元件擴充套件

元件ref的使用 獲取dom節點 給dom節點記上ref屬性,可以理解為給dom節點起了個名字。加上ref之後,在 refs屬性中多了這個元素的引用。通過vue例項的 refs屬性拿到這個dom元素。獲取元件 給元件記上ref屬性,可以理解為給元件起了個名字。加上ref之後,在 refs屬性中多了這...

Vue元件 子元件向父元件傳遞資料以及路由

我們知道,父元件使用 prop 傳遞資料給子元件。但子元件怎麼跟父元件通訊呢?這個時候 vue 的自定義事件系統就派得上用場了。每個 vue 例項都實現了事件介面,即 vue 的事件系統與瀏覽器的 eventtarget api 有所不同。儘管它們的執行起來類似,但是 on 和 emit 並不是ad...

Vue的元件和路由

元件 component 是 vue.js 最強大的功能之一。元件可以擴充套件 html 元素,封裝可重用的 在較高層面上,元件是自定義元素,vue.js 的編譯器為它新增特殊功能。元件是對特點功能 html,css,js 的封裝,通過元件的名字可以重複 利用該元件中的 1全域性元件 全域性元件的語...