<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
我們在編寫頁面的時候,會存在公共的元件,比如頭部和底部選單
我們拿公共頭部為例子,想在每個頁面都顯示公共頭部的實現方式有兩種:
在src/components目錄建立目錄 common, 再建立header.vue
header.vue
<template> <div> <h1>header in here</h1> </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>
建立資料夾 以及 JS檔案 用來存放公共的方法
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>
在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
列印結果是這樣的就說明方法新增成功了,如果想要新增其他的方法也可以通過這樣的形式在原型鏈上新增方法
要使用則是:
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)
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45