Vue + 經常使用第三方插件 基礎使用

Vue + 經常使用第三方插件 基礎使用

1、Vue + element

一、element——>快速入手——>按需引入方式:
(1)、安裝element-uicss

//-S等同於:--save
    //i是install的縮寫
    npm i element-ui -S

(2)、安裝按需加載的依賴html

//-D等同於:--save-dev
   npm install babel-plugin-component -D

(3)、修改.babelrc文件爲:vue

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-vue-jsx", "transform-runtime",["component", {
    "libraryName": "element-ui",
    "styleLibraryName": "theme-chalk"
  }
  ]]
}

(4)、在main.js中配置webpack

import {  Button } from 'element-ui'
Vue.use(Button)

(5)、組件中使用git

<template>
    <div>
      <el-button type="danger">危險按鈕</el-button>
    </div> 
</template>
注意:下圖中的element標籤屬性應設置在標籤上,如:
<el-button type="danger" size="small">危險按鈕</el-button>

圖片描述

2、Vue + swiper
swiper地址: https://github.com/surmon-chi...

(1)、安裝:github

npm install vue-awesome-swiper --save

(2)、兩種引入方式:web

① 全局引入方式:在main.js文件中引入
import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'

//全局配置swiper
Vue.use(VueAwesomeSwiper)
② 局部引入:組件中引入
import 'swiper/dist/css/swiper.css'
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
  components: {
    swiper,
    swiperSlide
  }
}

(3)、組件中使用
注意:在使用的時候須要參照GitHub和官網的參數配置一塊兒使用,須要什麼參數就去官網找便可,就是比較麻煩而已。npm

<template>
  <div>
    <swiper :options="swiperOption">
      <swiper-slide>I'm Slide 1</swiper-slide>
      <swiper-slide>I'm Slide 2</swiper-slide>
      <swiper-slide>I'm Slide 3</swiper-slide>
      <swiper-slide>I'm Slide 4</swiper-slide>
      <swiper-slide>I'm Slide 5</swiper-slide>
      <swiper-slide>I'm Slide 6</swiper-slide>
      <swiper-slide>I'm Slide 7</swiper-slide>
      <div class="swiper-pagination"  slot="pagination"></div>
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      swiperOption:{
      //這裏配置的參數參考官網API設置,這裏的pagination就是下圖中的官方配置
        pagination: {
          el: '.swiper-pagination',
        }
      }
    }
  }
}
</script>

圖片描述

3、Vue + layzload

(1)、安裝:element-ui

//-D等同於:--save-dev
 npm install vue-lazyload -D

(2)、在main.js中引入::瀏覽器

import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload)

(3)、在lazyload.vue組件中:
圖片描述

這樣圖片加載的過程當中:先加載loading圖片,再加載src路徑圖片,一旦出現錯誤將顯示error圖片。
4、Vue + rem + less

(1)、安裝less

npm install less less-loader --save-dev
npm install style-loader css-loader --save-dev

(2)、配置webpack.base.conf.js

{
    test:/\.less$/,
    use:[
      'style-loader',
      'css-loader',
      'less-loader'
    ]
 }

(3)、在index.html文件添加js代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>beijing</title>

//自適應屏幕調整相應的font-size值
<script>
  (function(doc,win){
    var docEl = doc.documentElement,
      //orientationchange 屏幕旋轉事件
      //首先判斷窗口有沒有orientationchange這個方法,有就賦值給變量,沒有就返回resize方法.
      resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
      recalc = function (){
        var clientWidth = docEl.clientWidth;
        if(!clientWidth) return;
        if(clientWidth >= 750){
          docEl.style.fontSize = '100px';
        }else{
          docEl.style.fontSize = 40 * (clientWidth / 750) + 'px';
        }
      };
    if(!doc.addEventListener) return;
    win.addEventListener(resizeEvt,recalc,false);
    //瀏覽器把DOM樹構建完成後就觸發了DOMContentLoaded事件,load事件則要等包括圖片這些加載完畢纔會觸發;先是DOMContentLoaded發生,而後是load發生。
    doc.addEventListener('DOMContentLoaded',recalc,false)
  })(document,window)
</script>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
注意:這樣在iPhone6中就獲得,<html style="font-size: 20px;"> ,也就是1rem = 20px; 可是,當html設置的font-size小於16px時,它會以1rem = 16px進行計算,由於瀏覽器能識別的最小值爲16px。

(4)、TestFont.vue組件中:

<template>
  <div class="box">
    <p>哈哈</p>
  </div>
</template>
<script>
    export default {
      name: "TestFont",
    }
</script>
<style scoped lang="less">
  //box寬高爲:200px*300px,這樣直接作除法就能夠了
  .box{
    width:200 / 20rem;
    height:300 / 20rem;
    background: #ff0;
  }
</style>
相關文章
相關標籤/搜索