老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

vue中怎么自定義一個全局消息框組件

這篇文章將為大家詳細講解有關vue中怎么自定義一個全局消息框組件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

開州網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯從2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯

1.發現問題

在進行移動端適配的時候,為了在各個型號的設備上能夠更好的提現結構排版,決定采用rem布局。采用rem布局的時候html的字體font-size是有一個標準的。我這邊用的是750px的設計稿,就采用1rem = 100px。 

在使用的過程中會用到一些第三方UI組件,而第三方UI組件是以px單位為標準的。

2.解決問題

有一種方法是可以可以用 px2rem-loader 插件可以將第三方ui庫的px轉換成rem單位,我們在寫樣式的時候用px,這個插件會幫我們轉換為rem單位。(因為暫時只是一個提示框遇到這樣的問題,不想大費周章,所以決定暫時不用,以后再用吧嘿嘿!)

自己寫小組件,在網上沖浪了一會,選了幾個小demo實現可以了下,確實比較好!(采用這個方法!)

3.自定義全局消息組件

大概效果有點模仿 element-ui 中的提示樣式,反正最后效果圖如下:

vue中怎么自定義一個全局消息框組件

vue中怎么自定義一個全局消息框組件

vue中怎么自定義一個全局消息框組件

vue中怎么自定義一個全局消息框組件

vue-cli3中component下新建message文件夾,里面再建如下:

vue中怎么自定義一個全局消息框組件

Message.vue源代碼如下:


 

 

 /* 動畫效果 淡入淡出 */
 .fade-enter-active, .fade-leave-active{
 transition: all 0.5s ease;
 }
 .fade-enter, .fade-leave-active{
 opacity: 0;
 }
 /* 不同的提示語的樣式 */
 .info, .icon-info{
 background-color: #DDDDDD;/*#f0f9eb*/
 color: #909399;
 }
 .success, .icon-success{
 background-color:#f0f9eb;
 color: #67C23A;
 }
 .warning, .icon-warning{
 background-color: #fdf6ec;
 color: #e6a23c;
 }
 .error, .icon-error{
 background-color: #fef0f0;
 color: #f56c6c;
 }
 .message {
 position: fixed;
 left: 50%;
 top: 10%;
 transform: translate(-50%, -50%);
 width:300px;
 height:30px;
 line-height: 30px;
 font-size: 16px;
 padding: 10px;
 border-radius: 5px;
 .content{
  width:100%;
  height:100%;
  text-align:left;
  .icon-type{
  margin:0 10px 0 30px;
  }
  .btn-close{
  font-size:20px;
  margin:0 0 0 70px;
  color:#ccc;
  }
 }
 }
 

index.js源代碼如下:

給Vue添加$my_message方法,判斷參數,使用 $mount() 給組件手動掛載參數,然后將組件插入頁面中

import Vue from 'vue'
import Message from './Message.vue'
 
const MessageBox = Vue.extend(Message)
 
Message.install = function (options, type) {
 if (options === undefined || options === null) {
 options = {
  content: ''
 }
 } else if (typeof options === 'string' || typeof options === 'number') {
 options = {
  content: options
 }
 if (type !== undefined && options !== null) {
  options.type = type
 }
 }
 
 let instance = new MessageBox({
 data: options
 }).$mount()
 
 document.body.appendChild(instance.$el)
 
 Vue.nextTick(() => {
 instance.visible = true
 })
}
 
export default Message

main.js中:

// 在main.js里面全局引入 自定義的全局消息框組件
import Message from './components/message'
Vue.prototype.$my_message = Message.install

vue中怎么自定義一個全局消息框組件

頁面中調用:

this.$my_message('你這個大笨豬吼吼吼!');
this.$my_message('你這個大笨豬吼吼吼!','success');
this.$my_message({
 content:'服務器連接失敗!', // 彈出的文字內容
 time:5000,     // 彈出后多久消失
 type:'success',   // 彈出的消息類型
 hasClose:true,   // 讓按鈕可以被使用,默認按鈕是false不可以使用的
 
});

關于vue中怎么自定義一個全局消息框組件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網站欄目:vue中怎么自定義一個全局消息框組件
轉載來于:http://www.xueling.net.cn/article/pedcps.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产精品爽爽爽爽爽爽在线观看 | 先锋影音最新色资源站 | 久久国产精品久久喷水 | 亚洲综合色区另类av | 国产99久久九九精品无码 | 国产亚洲精品综合一区91 | jjzz4日本 | 色视频在线观看免费 | 久久久橹橹橹久久久久高清 | 国产精品久久久久久久av福利 | 一级aaaa毛片 | 久久出品 | 在线不卡123| 国产激情一区二区三区成人免费 | 综合激情久久综合激情 | 日本免费一区二区三区四区五六区 | 国产精品二区一区二区aⅴ污介绍 | 99精品欧美一区二区 | 日韩国产欧美视频 | 免费操片 | 国产精品午夜剧场免费观看 | 亚洲免费av网站 | 性福利视频 | 色777狠狠狠综合伊人 | 午夜爽爽爽男女免费观看影院 | 粉嫩蜜桃麻豆免费大片 | 麻豆精品videohd4k | 日韩欧美视频在线播放 | 99久久无色码中文字幕 | 在线国产视频一区 | 色中色在线播放 | 人妻少妇邻居少妇好多水在线 | 国内精拍拍在线视频免费看 | 亚洲无吗视频在线 | 日本精品一区在线 | 日产中文字暮在线理论 | 91rb成人| 色戒2小时38分无删除版 | a∨色狠狠一区二区三区 | 男人天堂视频在线 | 男人操女人视频免费观看 |