關(guān)于單文件組件.vue的使用
vuejs 自定義了一種.vue文件,可以把html, css, js 寫(xiě)到一個(gè)文件中,從而實(shí)現(xiàn)了對(duì)一個(gè)組件的封裝, 一個(gè).vue 文件就是一個(gè)單獨(dú)的組件。由于.vue文件是自定義的,瀏覽器不認(rèn)識(shí),所以需要對(duì)該文件進(jìn)行解析。 在webpack構(gòu)建中,需要安裝vue-loader 對(duì).vue文件進(jìn)行解析。在 sumlime 編輯器中,我們 書(shū)寫(xiě).vue 文件,可以安裝vue syntax highlight 插件,增加對(duì)文件的支持。
環(huán)境搭建完畢,利用vue-router實(shí)現(xiàn)了頁(yè)面跳轉(zhuǎn),那么現(xiàn)在要處理的就是頁(yè)面的內(nèi)容了。
一個(gè)頁(yè)面可以看作是由各種各樣的組件組成的,大至一個(gè)頁(yè)面,小至一個(gè)按鈕都可以作為一個(gè)組件,頁(yè)面的組件化可以大大提高代碼的重用性,免除了很多重復(fù)性的勞動(dòng)。vue允許把用戶(hù)組件寫(xiě)成單個(gè)的文件,尾綴為.vue,然后再以模塊的方式引入,下面是我的例子:
入口文件:
import Vue from 'vue'; import VueRouter from 'vue-router' import Main from'./components/main.vue' import Login from'./components/login.vue' import Content from'./components/content.vue' Vue.use(VueRouter); const routes=[ {path:'/login',component:Login}, {path:'/main',component:Main}, {path:'/main/content',component:Content}, {path:'/',redirect:'/login'} ]; const router=new VueRouter({ routes }); var app=new Vue({ router, el:'#app', template:'<router-view></router-view>' });
這是其中的一個(gè)組件content:
<template> <p class="demo-title">{{msg}}</p> </template> <script> export default{ data:function(){ return{msg:"hello"} } } </script> <style> .demo-title{color:red;} </style>
這里用上了ES6的模塊加載功能:export和import,在組件中使用export,可以把組件定義為一個(gè)模塊,import則可以把已定義的組件,這樣就能方便處理模塊間的依賴(lài)關(guān)系。
一個(gè)vue文件一般來(lái)說(shuō)有三個(gè)元素:template(html模板),script,style,我們?cè)趕cript中編寫(xiě)組件所需要的依賴(lài)和交互代碼,并用export將整個(gè)組件以模塊的方式定義。在script中,組件的編寫(xiě)方法與在vue對(duì)象中的編寫(xiě)組件的方法并無(wú)二致,所以也可以把template寫(xiě)進(jìn)script里面。
一個(gè)組件對(duì)應(yīng)一個(gè)文件,這樣子就可以在組件內(nèi)部處理組件自身的內(nèi)容,css也可以只針對(duì)組件生效,十分方便。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue中v-if和v-for一起使用的弊端及解決辦法(同時(shí)使用 v-if 和 v-for不
當(dāng) v-if 和 v-for 同時(shí)存在于一個(gè)元素上的時(shí)候,v-if 會(huì)首先被執(zhí)行,這篇文章主要介紹了vue中v-if和v-for一起使用的弊端及解決辦法,需要的朋友可以參考下2023-07-07vue-cli實(shí)現(xiàn)多頁(yè)面多路由的示例代碼
本篇文章主要介紹了vue-cli實(shí)現(xiàn)多頁(yè)面多路由的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01詳解vue中v-model和v-bind綁定數(shù)據(jù)的異同
這篇文章主要介紹了vue中v-model和v-bind綁定數(shù)據(jù)的異同,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08vue中的keep-alive詳解與應(yīng)用場(chǎng)景
keep-alive是vue中的內(nèi)置組件,能在組件切換過(guò)程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM,本文給大家介紹vue中的keep-alive詳解與應(yīng)用場(chǎng)景,感興趣的朋友一起看看吧2023-11-11vue中循環(huán)多個(gè)li(表格)并獲取對(duì)應(yīng)的ref的操作代碼
我想要獲取每一個(gè)循環(huán)并獲取每一個(gè)li(或者其它循環(huán)項(xiàng))的ref,以便于后續(xù)的操作,接下來(lái)通過(guò)本文給大家分享vue中循環(huán)多個(gè)li(表格)并獲取對(duì)應(yīng)的ref的操作代碼,感興趣的朋友跟隨小編一起看看吧2024-02-02Vue2.0實(shí)現(xiàn)自適應(yīng)分辨率
這篇文章主要為大家詳細(xì)介紹了Vue2.0實(shí)現(xiàn)自適應(yīng)分辨率,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11