国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

VUE3 --->組件化

這篇具有很好參考價值的文章主要介紹了VUE3 --->組件化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

vue-cli

1、基于 vue ui 創(chuàng)建 vue 項目

?組件庫

1.vue 組件庫

2.vue 組件庫和 bootstrap 的區(qū)別

3. 最常用的 vue 組件庫

4. Element UI

axios 攔截器

1. 回顧:在 vue3 的項目中全局配置 axios

2. 在 vue2 的項目中全局配置 axios

3、攔截器

4. 配置請求攔截器

5、配置響應攔截器

proxy 跨域代理

1. 回顧:接口的跨域問題

2. 通過代理解決接口的跨域問題

3. 在項目中配置 proxy 代理


vue-cli

vue-cli 提供了創(chuàng)建項目的兩種方式

vue create 項目名稱

vue ui

1、基于 vue ui 創(chuàng)建 vue 項目

步驟1:在終端下運行 vue ui 命令,自動在瀏覽器中打開創(chuàng)建項目的可視化面板

步驟2:在詳情頁面填寫項目名稱

步驟3:在預設頁面選擇手動配置項目

步驟4:在功能頁面勾選需要安裝的功能Choose Vue Version、Babel、CSS 預處理器、使用配置文件):

步驟5:在配置頁面勾選 vue 的版本需要的預處理器

步驟6:將剛才所有的配置保存為預設(模板),方便下一次創(chuàng)建項目時直接復用之前的配置

步驟7:創(chuàng)建項目并自動安裝依賴包:

vue ui 的本質:通過可視化的面板采集到用戶的配置信息后,在后臺基于命令行的方式自動初始化項目:

版本 3 和版本 4 的路由最主要的區(qū)別:創(chuàng)建路由模塊的方式不同!

?組件庫

1.vue 組件庫

在實際開發(fā)中,前端開發(fā)者可以把 自己封裝的 .vue 組件 整理、打包、并 發(fā)布為 npm 的包 ,從而供其他人下載 和使用。這種可以直接下載并在項目中使用的現(xiàn)成組件,就叫做 vue 組件庫 。

2.vue 組件庫和 bootstrap 的區(qū)別

二者之間存在本質的區(qū)別:
  • ?bootstrap 只提供了純粹的原材料( css 樣式、HTML 結構以及 JS 特效),需要由開發(fā)者做進一步的組裝改造
  • ?vue 組件庫是遵循 vue 語法高度定制的現(xiàn)成組件,開箱即用

3. 最常用的 vue 組件庫

PC 端

  • ?Element UI(https://element.eleme.cn/#/zh-CN)
  • ?View UI(http://v1.iviewui.com/)

移動端

  • ?Mint UI(http://mint-ui.github.io/#!/zh-cn)
  • ?Vant(https://vant-contrib.gitee.io/vant/#/zh-CN/)

4. Element UI

Element UI 是 餓了么前端團隊 開源的一套 PC 端 vue 組件庫 。支持在 vue2 和 vue3 的項目中使用:
  • ?vue2 的項目使用舊版的 Element UI(https://element.eleme.cn/#/zh-CN)
  • ?vue3 的項目使用新版的 Element Plus(https://element-plus.gitee.io/#/zh-CN)

1、在 vue2 的項目中安裝 element-ui

運行如下的終端命令:

npm i element-ui -S
2、引入 element-ui
開發(fā)者可以 一次性完整引入所有的 element-ui 組件,或是根據需求,只 按需引入用到的 element-ui 組件:
  • ?完整引入:操作簡單,但是會額外引入一些用不到的組件,導致項目體積過大
  • ?按需引入:操作相對復雜一些,但是只會引入用到的組件,能起到優(yōu)化項目體積的目的

3、完整引入

main.js 中寫入以下內容:

import ElementUI from 'element-ui'

import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)
4、按需 引入
借助 babel-plugin-component ,我們可以只引入需要的組件,以達到 減小項目體積 的目的。
步驟1,安裝 babel-plugin-component:
npm i babel-plugin-component -D
步驟2,修改根目錄下的 babel.config.js 配置文件,新增 plugins 節(jié)點如下:
{

  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}
步驟3,如果你 只希望引入部分組件 ,比如 Button,那么需要在 main.js 中寫入以下內容:
import { Button, Select } from 'element-ui';

Vue.component(Button.name, Button);
Vue.component(Select.name, Select);
/* 或寫為
 * Vue.use(Button)
 * Vue.use(Select)
 */
5、把組件的導入和注冊 封裝為獨立的模塊
在 src 目錄下新建 element-ui/index.js 模塊,并聲明如下的代碼:
import Vue from 'vue'
// 完整引入 Element UI
// import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
// Vue.use(ElementUI)

// 按需導入
import { Button, Input } from 'element-ui'

Vue.config.productionTip = false

Vue.use(Button)
Vue.use(Input)

//在mian.js中導入
 import './element-ui'

axios 攔截器

1. 回顧:在 vue3 的項目中全局配置 axios

在?main.js?入口文件中,通過?app.config.globalProperties?全局掛載 axios

import axios from 'axios'
axios.defaults.baseURL = '請求根路徑'
app.config.globalProperties.$http = axios

2. 在 vue2 的項目中全局配置 axios

需要在 main.js 入口文件中,通過 Vue 構造函數prototype 原型對象全局配置 axios:

import axios from 'axios'
//全局配置
axios.defaults.baseURL = '請求根路徑'
Vue.prototype.axios = axios

3、攔截器

攔截器(英文:Interceptors)會在每次發(fā)起 ajax 請求得到響應的時候自動被觸發(fā)。

4. 配置請求攔截器

通過 axios.interceptors.request.use(成功的回調, 失敗的回調) 可以配置請求攔截器:注意:失敗的回調函數可以被省略!

請求攔截器 – Token 認證

// 配置請求攔截器
axios.interceptors.request.use(config => {
  // 配置 Token 認證
  config.headers.Authorization = 'Bearer xxx'
  console.log(config)
  // 這是固定寫法
  return config
})
請求攔截器 – 展示 Loading 效果
借助于 element ui 提供的 Loading 效果 組件(https://element.eleme.cn/#/zh-CN/component/loading) 可以方便的實現(xiàn) Loading 效果的展示:
import { Loading } from 'element-ui'
/ 配置請求攔截器
let loadingInstance = null
axios.interceptors.request.use(config => {
  // 展示 loading 效果
  loadingInstance = Loading.service({ fullscreen: true })
  // 配置 Token 認證
  config.headers.Authorization = 'Bearer xxx'
  console.log(config)
  // 這是固定寫法
  return config
})

5、配置響應攔截器

通過 axios.interceptors.response.use(成功的回調, 失敗的回調) 可以配置響應攔截器。

響應攔截器 – 關閉 Loading 效果

調用 Loading 實例提供的 close() 方法即可關閉 Loading 效果

// 配置響應攔截器
axios.interceptors.response.use(response => {
  // 關閉 loading 效果
  loadingInstance.close()
  return response
})

proxy 跨域代理

1. 回顧:接口的跨域問題

vue 項目運行的地址: http :// localhost : 8080 /
API 接口運行的地址: https :// www.escook.cn /api/users
由于當前的 API 接口 沒有開啟 CORS 跨域資源共享,因此默認情況下,上面的接口 無法請求成功 !

2. 通過代理解決接口的跨域問題

通過 vue-cli 創(chuàng)建的項目在遇到接口跨域問題時,可以通過代理的方式來解決:

① 把 axios 的 請求根路徑 設置為 vue 項目的運行地址 (接口請求不再跨域)
② vue 項目發(fā)現(xiàn)請求的接口不存在,把請求 轉交給 proxy 代理
③ 代理把請求根路徑 替換為 devServer.proxy 屬性的值, 發(fā)起真正的數據請求
④ 代理把請求到的數據, 轉發(fā)給 axios

3. 在項目中配置 proxy 代理

步驟1,在 main.js 入口文件中,把 axios 的請求根路徑改造為當前 web 項目的根路徑文章來源地址http://www.zghlxwxcb.cn/news/detail-614226.html

// 配置請求根路徑
// axios.defaults.baseURL = 'https://url地址'
axios.defaults.baseURL = 'http://localhost:8080'
步驟2,在 項目根目錄 下創(chuàng)建 vue.config.js 的配置文件,并聲明如下的配置:
module.exports = {
  devServer: {
    proxy: 'https://url地址',
  },
}
注意:
① devServer.proxy 提供的代理功能, 僅在開發(fā)調試階段生效
② 項目上線發(fā)布時,依舊需要 API 接口服務器 開啟 CORS 跨域資源共享

到了這里,關于VUE3 --->組件化的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 二、Vue組件化編程

    二、Vue組件化編程

    Vue 中使用組件的三大步驟: 定義組件(創(chuàng)建組件) 注冊組件 使用組件(寫組件標簽) 如何定義一個組件? 使用 Vue.extend(options) 創(chuàng)建,其中 options 和 new Vue(options) 時傳入的那個 options 幾乎一樣,但也有點區(qū)別; 區(qū)別如下: el 不要寫,為什么? ——— 最終所有的組件都要經過一

    2024年02月22日
    瀏覽(18)
  • Vue(組件化編程:非單文件組件、單文件組件)

    Vue(組件化編程:非單文件組件、單文件組件)

    傳統(tǒng)組件編寫:不同的HTML引入不同的樣式和行為文件 組件方式編寫:組件單獨, 復用率高(前提組件拆分十分細致)? 理解為封裝行為:html,css,js封裝在一個文件中 解釋模塊化和組件化的區(qū)別: 組件化 :css,js,html三件套使用在同一部分的代碼封裝在一個組件中 模塊化

    2024年02月01日
    瀏覽(22)
  • 通用vue組件化登錄頁面

    通用vue組件化登錄頁面

    1.首先建立一個login文件夾,在里面建立對應的login.vue文件 2.設置登錄頁面的背景圖,在App.vue文件中使用router-view進行展示登錄組件 3.先給App.vue的div元素設置高度100%,之后在login.vue里面去設置背景圖 這里注意怎么使login組件垂直水平居中的樣式 1.首先建立一個cpns的文件夾,里

    2024年02月09日
    瀏覽(26)
  • 【Vue】Vite 組件化開發(fā)

    【Vue】Vite 組件化開發(fā)

    1. 什么是組件化開發(fā) 組件化開發(fā)指的是:根據封裝的思想,把頁面上可重用的部分封裝為組件,從而方便項目的開發(fā)和維護。 例如:https://gitee.com/vdpadmin/variant-form 所展示的效果,就契合了組件化開發(fā)的思想。用戶可以通過拖拽組件的方式,快速生成一個頁面的布局結構。

    2024年02月10日
    瀏覽(22)
  • 通用vue組件化展示列表數據

    通用vue組件化展示列表數據

    1.首先先確定要展示的表格列名以及拿到所需要展示的數組數據 2.然后建立一個專門放el-table遍歷的文件 3.在父組件中將數據列表數據存放在listData里面,然后傳給子組件,子組件定義一個動態(tài)的列,通過遍歷propList得到列名,然后也動態(tài)匹配prop,這樣prop的值會去和listData進行匹

    2023年04月08日
    瀏覽(25)
  • Vue開發(fā)實戰(zhàn)(03)-組件化開發(fā)

    Vue開發(fā)實戰(zhàn)(03)-組件化開發(fā)

    對組件功能的封裝,可以像搭積木一樣開發(fā)網頁。 Vue官方的示例圖對組件化開發(fā)的形象展示。左邊是一個網頁,可以按照功能模塊抽象成很多組件,這些組件就像積木一樣拼接成網頁。 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aS7Zk8tp-16862

    2024年02月08日
    瀏覽(20)
  • Vue 如何簡單快速組件化

    Vue 如何簡單快速組件化

    為了簡化拆分復雜的代碼邏輯,和實現(xiàn)代碼的組件化,封閉化。我們需要使用組件化的方法。我這里只講解我感覺最優(yōu)的組件化方法。 vue組件化總結 vue 單文件組件 子組件修改Props報錯 vue 父組件調用子組件方法ref vue中組件的props屬性(詳) 使用Vue-cil搭建一個簡單的Vue頁面,

    2024年02月12日
    瀏覽(19)
  • Vue 組件化: 計算屬性、內容分發(fā)、自定義事件

    Vue 組件化: 計算屬性、內容分發(fā)、自定義事件

    目錄 1. 計算屬性 1.1 計算屬性的特點 2. 內容分發(fā) 2.1?使用插槽的示例 3. 自定義事件 什么是計算屬性 ? 計算屬性的重點突出在 屬性 兩字, 首先它是個 屬性 , 其次這個屬性有 計算 的能力, 這里的計算就是個函數; 簡單來說, 它就是一個能夠將計算結果緩存起來的屬性 (將行為轉

    2024年02月08日
    瀏覽(19)
  • vue~el-autocomplete實現(xiàn)組件化

    vue~el-autocomplete實現(xiàn)組件化

    可以實現(xiàn)異步的數據拉取,從異步返回的數據中,選擇需要的結果,并回顯到文本框中。 回調列表,異步的方式獲取數據列表,顯示在列表框中 當選中某一項時,會觸發(fā)這個方法,將數據獲取到,這時,我們可以將數據回顯,或者賦值給父頁面上的元素,如果希望賦值父頁

    2024年02月11日
    瀏覽(18)
  • Vue:將以往的JQ頁面,重構成Vue組件頁面的大致思路梳理(組件化編碼大致流程)

    Vue:將以往的JQ頁面,重構成Vue組件頁面的大致思路梳理(組件化編碼大致流程)

    組件要按照功能點拆分,命名不要與 HTML元 素沖突。 1、根據 UI 提供的原型圖,進行結構設計,結構設計的粒度以是否方便給組件起名字為依據。并梳理好對應組件的層級依賴關系。 2、設計好結構后,開始寫對應的組件,并根據梳理好的層級關系,對應引入組件。 3、根據

    2024年01月15日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包