中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue如何實現自定義公共組件及提取公共方法

發布時間:2022-05-27 13:43:24 來源:億速云 閱讀:687 作者:iii 欄目:開發技術

這篇“vue如何實現自定義公共組件及提取公共方法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue如何實現自定義公共組件及提取公共方法”文章吧。

    自定義公共組件及提取公共的方法

    vue自定義公共組件

    我們在編寫頁面的時候,會存在公共的組件,比如頭部和底部菜單

    我們拿公共頭部為例子,想在每個頁面都顯示公共頭部的實現方式有兩種:

    在src/components目錄創建目錄 common, 再創建header.vue

    header.vue

    <template>
      <div>
      <h2>header in here</h2>
      </div>
    </template>
     <script>
      export default{}
     </script>

    1.全局掛載組件

    在main.js里掛載

    import headerTop from "xxx/components/common/header" //引入組件
    //第一個參數表示 head-view標簽的內容都用第二個參數headerTop來代替
     Vue.component("head-view",headerTop);
     
    //然后在需要使用的vue文件中引入頭部的話,只需要加入 <head-view></head-view>標簽//

    組件局部引入,需要用的時候才引入使用

     //在需要使用的VUE文件中引入頭部:
     <template>
     <headerTopNav></headerTopNav>
     </template>
     <script>
    import headerTopNav from 'xxx/components/common/header' //引入組件
     export default{
     components: {headerTopNav} //表示headerTopNav標簽的內容被headerTopNav組件代替
     }
     </script>

    vue 提取公共的方法

    創建文件夾 以及 JS文件 用來存放公共的方法 

    vue如何實現自定義公共組件及提取公共方法

    vue如何實現自定義公共組件及提取公共方法

    common.js 文件中內容如下

    const commonData = () => {
    	console.log('我是公共的方法')
    }
    export { commonData }

    全局使用:

    ① 在 main.js 文件中全局引入,并在 vue 的原型鏈 (prototype) 中注冊

    // 引入 common.js
    import { commonData } from './utils/common.js'
    // 將 common 配置給 Vue 的 $common 成員
    Vue.prototype.$commonData = commonData

    然后在需要用到該方法的組件文件中使用,如下

    <template>
      <div></div>
    </template>
    <script>
    export default {
      created() {
        this.$commonData();
      }
    };
    </script>
    <style lang="less" scoped>
    </style>

    ② 在需要用到該方法的組件文件中局部引用

    import { commonData } from '../utils/common.js'
    <script>
    export default {
    	created() {
        	commonData();
      	}
    };
    </script>

    vue定義公用方法

    在src目錄下新建common公用方法文件夾用于存放公用方法列表

    common下新建common.js

    該示例定義存、取、刪cookie方法

    main.js中引入該文件,并將其添加到Vue原型鏈上

    import common from './common/common'
    Vue.prototype.$common = common  //其中$common就是調用時所使用的方法

    緊接著定義common.js中的方法,錄入即用

       export default { //公開
        /**
         * 設置cookie
         **/
        setCookie(name, value, day) {
            let date = new Date();
            date.setDate(date.getDate() + day);
            document.cookie = name + '=' + value + ';expires=' + date;
        },
        /**
         * 獲取cookie
         **/
        getCookie(name){
            let reg = RegExp(name + '=([^;]+)');
            let arr = document.cookie.match(reg);
            if (arr) {
                return arr[1];
            } else {
                return '';
            }
        },
        /**
         * 刪除cookie
         **/
        delCookie(name) {
            setCookie(name, null, -1);
        }
    }

    使用:

    在需求頁面打印 this.$common

    打印結果是這樣的就說明方法添加成功了,如果想要添加其他的方法也可以通過這樣的形式在原型鏈上新增方法

    vue如何實現自定義公共組件及提取公共方法

    要使用則是:

    this.$common.setCookie('cookieName',存入字符串,天數) //存cookie
    this.$common.getCookie('cookieName') //取
    this.$common.delCookie('cookieName') //刪除

    更新:

    若是想將其直接定義為全局,且在this指向下,可以這樣做: 

    首先依舊是定義你想要作為公用的方法

    /**
     * 設置cookie
     **/
    function setCookie(name, value, day) {
      let date = new Date();
      date.setDate(date.getDate() + day);
      document.cookie = name + '=' + value + ';expires=' + date;
    };
    /**
     * 獲取cookie
     **/
    function getCookie(name) {
      let reg = RegExp(name + '=([^;]+)');
      let arr = document.cookie.match(reg);
      if (arr) {
        return arr[1];
      } else {
        return '';
      }
    };
    /**
     * 刪除cookie
     **/
    function delCookie(name) {
      setCookie(name, null, -1);
    };

    然后:

    將方法注冊,并添加到Vue的原型鏈

    export default {
      install(Vue,opeions){
        Vue.prototype.getCookie = getCookie;
        Vue.prototype.setCookie = setCookie;
        Vue.prototype.delCookie = delCookie;
      }
    };

    注:注冊之后需要在main.js引入并use才能生效

    import commonApi from './util/common' //你的公用方法文件路徑
    Vue.use(commonApi)

    以上就是關于“vue如何實現自定義公共組件及提取公共方法”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    vue
    AI

    青神县| 宣威市| 砚山县| 雷山县| 新邵县| 绿春县| 孟州市| 新河县| 广南县| 白城市| 喜德县| 兴文县| 伽师县| 葫芦岛市| 法库县| 寿宁县| 东乡族自治县| 杭锦旗| 五莲县| 巴塘县| 临夏市| 禹州市| 龙江县| 濉溪县| 武隆县| 泰宁县| 通江县| 崇左市| 台安县| 平定县| 朝阳区| 且末县| 巩留县| 开阳县| 同仁县| 苏尼特右旗| 邻水| 宁明县| 万全县| 西藏| 常宁市|