最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用vue組件封裝共用的組件

 更新時(shí)間:2022年05月27日 11:49:10   作者:養(yǎng)只貓  
這篇文章主要介紹了使用vue組件封裝共用的組件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

這里提供兩種vue封裝共用組件的方法

方法一

main.js中

import ListItem from './components/list.vue'//封裝共用組件方法一
Vue.component('ListItem',ListItem)

方法二

新建vue文件的時(shí)候再建個(gè)相應(yīng)的js文件。

component.js

import child from './component.vue'
 
export default child.install = function (Vue) {
  Vue.component(child.name,child)
}

main.js中

import child from './components/component/component.js'//封裝共用組件方法二
Vue.use(child)

通過(guò)上面的兩種方法定義公共組件后都可以直接<child>和<component>這樣調(diào)用組件了,無(wú)需在每個(gè)vue文件中important組件了。

說(shuō)說(shuō)方法二吧根據(jù)官方文檔提供的api

vue使用install定義安裝全局組件需要install和use這兩個(gè)api來(lái)配合才能完成。我更喜歡第一種但是今天看了公司的代碼認(rèn)識(shí)到了第二種方法,也發(fā)現(xiàn)了vue提供了不少提高生產(chǎn)效率的api往后會(huì)繼續(xù)深入去學(xué)習(xí)這些api。

同時(shí)也解決了一個(gè)困惑很長(zhǎng)時(shí)間的問(wèn)題,element ui中的message這個(gè)組件不需要vue.use安裝直接就能用,因?yàn)閑lement源碼中直接將這個(gè)組件賦值到vue的prototype上了,其他的組件都只export 暴露出install方法所以其他組件需要vue.use安裝

vue封裝公共組件調(diào)用方法

需求:項(xiàng)目中所有的提示信息都是彈框樣式的,并且顯示兩秒后自動(dòng)消失

vue頁(yè)面

<template>
? <!-- 公用提示信息頁(yè)面 -->
? <el-dialog
? ? title="提示"
? ? :visible.sync="dialogVisible"
? ? :show-close="false"
? ? top="40vh"
? ? width="30%"
? >
? ? <div class="content">
? ? ? <span>{{ text }}</span>
? ? </div>
? </el-dialog>
</template>
<script>
export default {
? data() {
? ? return {
? ? ? dialogVisible: true,
? ? ? text: ""
? ? };
? }
};
</script>
<style lang="less" scoped>
.content {
? font-size: 16px;
? color: #333;
? text-align: center;
? span {
? ? margin-left: 10px;
? }
}
/deep/ .el-dialog__header {
? padding: 0;
? height: 50px;
? line-height: 50px;
? text-align: center;
? font-weight: 600;
? background-color: #08519c;
}
/deep/ .el-dialog__title {
? color: #fff;
}
</style>

js頁(yè)面

// 公共提示信息js
import Vue from "vue";
import Toast from "./dialogMessage.vue"; //引入組件
// 返回一個(gè)“擴(kuò)展實(shí)例構(gòu)造器”
let ToastConstructor = Vue.extend(Toast);
let myToast = (text, duration) => {
  let toastDom = new ToastConstructor({
    el: document.createElement("div") //將toast組件掛載到新創(chuàng)建的div上
  });
  document.body.appendChild(toastDom.$el); //把toast組件的dom添加到body里
  toastDom.text = text;
  toastDom.duration = duration;
  // 在指定 duration 之后讓 toast消失
  setTimeout(() => {
    toastDom.dialogVisible = false;
  }, toastDom.duration);
  // 調(diào)用時(shí)  this.$toast("新內(nèi)容", 1000);
};
export default myToast;

在main.js中全局注冊(cè)

import toast from "./components/dialogMessage.js"; //引入toast函數(shù)
  //給Vue對(duì)象添加$toast方法
  Vue.prototype.$toast = toast;

頁(yè)面中使用,像使用message一樣

 this.$toast("新內(nèi)容", 1000);

效果

在這里插入圖片描述

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中使用$http.post請(qǐng)求傳參的錯(cuò)誤及解決

    vue中使用$http.post請(qǐng)求傳參的錯(cuò)誤及解決

    這篇文章主要介紹了vue中使用$http.post請(qǐng)求傳參的錯(cuò)誤及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue實(shí)現(xiàn)路由切換改變title功能

    vue實(shí)現(xiàn)路由切換改變title功能

    這篇文章主要介紹了vue實(shí)現(xiàn)路由切換改變title功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • vue-cli監(jiān)聽(tīng)組件加載完成的方法

    vue-cli監(jiān)聽(tīng)組件加載完成的方法

    今天小編就為大家分享一篇vue-cli監(jiān)聽(tīng)組件加載完成的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 解決element-ui的el-select選擇器的@blur事件失效的坑

    解決element-ui的el-select選擇器的@blur事件失效的坑

    這篇文章主要介紹了解決element-ui的el-select選擇器的@blur事件失效的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue菜單欄自適應(yīng)折疊功能示例

    vue菜單欄自適應(yīng)折疊功能示例

    這篇文章主要介紹了vue菜單欄自適應(yīng)折疊,我這里使用的是el-menu導(dǎo)航菜單,監(jiān)聽(tīng)頁(yè)面寬度的改變,來(lái)改變導(dǎo)航菜單的折疊和展開(kāi),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue3+ts 依賴注入provide inject的用法

    vue3+ts 依賴注入provide inject的用法

    vue3中引入新的組件傳值方式,就是provide/inject依賴注入模式,本文主要介紹了vue3+ts 依賴注入provide inject的用法,感興趣的可以了解一下
    2023-11-11
  • Vue3實(shí)現(xiàn)圖片放大鏡效果

    Vue3實(shí)現(xiàn)圖片放大鏡效果

    這篇文章主要為大家詳細(xì)介紹了Vue3實(shí)現(xiàn)圖片放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue實(shí)現(xiàn)驗(yàn)證用戶名是否可用

    vue實(shí)現(xiàn)驗(yàn)證用戶名是否可用

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)驗(yàn)證用戶名是否可用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Vue3?計(jì)算屬性的用法詳解

    Vue3?計(jì)算屬性的用法詳解

    學(xué)過(guò)?vue2?的寶子們應(yīng)該都清楚,計(jì)算屬性這個(gè)東西在項(xiàng)目開(kāi)發(fā)過(guò)程中使用的還是比較頻繁的,使用頻率相對(duì)來(lái)說(shuō)比較高。本文就來(lái)為大家介紹一下Vue3中計(jì)算屬性的用法,需要的可以參考一下
    2022-07-07
  • vue使用websocket概念及示例

    vue使用websocket概念及示例

    這篇文章主要為大家介紹了vue使用websocket概念及示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09

最新評(píng)論

合肥市| 淳化县| 阳江市| 鲁甸县| 运城市| 尉犁县| 宝兴县| 栾川县| 普兰店市| 勃利县| 鄱阳县| 张家港市| 历史| 白朗县| 丽江市| 望江县| 山西省| 夏津县| 措美县| 沅江市| 霍州市| 宜都市| 海伦市| 枣阳市| 汉中市| 航空| 淮北市| 吴堡县| 寻乌县| 固镇县| 辰溪县| 洛南县| 沛县| 永丰县| 蓝田县| 汽车| 永泰县| 开封县| 平定县| 南通市| 平舆县|