溫馨提示×

溫馨提示×

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

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

vue-cli腳手架引入彈出層layer插件的方法有哪些

發(fā)布時(shí)間:2021-08-11 15:07:32 來源:億速云 閱讀:134 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“vue-cli腳手架引入彈出層layer插件的方法有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“vue-cli腳手架引入彈出層layer插件的方法有哪些”這篇文章吧。

1.如何引入

在vue-cli里,引入文件有幾鐘方法

一種是用npm或者cnpm指令去下載對應(yīng)的插件,然后在main.js里用import方法引入,這里不討論這種方法

我比較喜歡采用的是直接下載對應(yīng)的js,然后引入到vue項(xiàng)目中去

問題來了,如何引入呢

方法如下:

  • 下載對應(yīng)的js文件或者css文件,一般下載插件相關(guān)聯(lián)的都會在一起

  • 進(jìn)入vue-cli項(xiàng)目工程里的index.html文件,分別引入css文件和js文件

在這里,分別是

<link rel="stylesheet" href="./static/layer.css" rel="external nofollow" /> 
  <script src="./static/jquery.js"></script>
   <script src="./static/jquery.min.js"></script>
   <!-- 必須先引入上面jq 1.8版本以上的才能引layer -->
   <script src="./static/layer.js"></script>

這樣在全局文件里都可以使用layer彈出層插件了,需要注意,必須先引入jq 1.8以上的版本才可以使用layer噢。

2.彈出層顯示不出

  • 作為一個(gè)java開發(fā)小菜鳥,踩前端的坑基本是面向百度進(jìn)行嘗試解決,經(jīng)歷了時(shí)常兩個(gè)半小時(shí)的掙扎,解決了幾個(gè)問題:

  • 第一個(gè)是前端控制臺報(bào)錯(cuò),印象里是i is not a function 還有什么layer.open is not a function等,這些問題基本是出于引入的問題,解決途徑:檢查是否在之前引入了1.8以上的jq

  • 第二個(gè)是彈出層只有文字顯示,但是缺乏樣式,沒有彈出層的feel。經(jīng)過大量百度和分析,最后還是依靠調(diào)試前端樣式看出端倪,問題在于里面用到的class在我引入的css文件里并不存在。經(jīng)過檢查,導(dǎo)入的css文件錯(cuò)誤(注意有手機(jī)的css樣式和另一個(gè)css,這里要用另一個(gè),名稱一樣)。最終問題解決。

ps:下面看下在Vue中使用layer.js彈出層插件

layer.js(mobile)是一個(gè)小巧方便的彈出層插件,在之前的apicloud項(xiàng)目中被大量使用,但最近對apicloud的IDE、非常不友好的文檔和極低的開發(fā)效率深感厭煩,決定棄用然后轉(zhuǎn)向Vue開發(fā)。在開發(fā)過程中引入layer.js的時(shí)候遇到了麻煩。原因是layer.js不支持import導(dǎo)入,這時(shí)就需要修改一下它的源碼。在看過它的源碼后,發(fā)現(xiàn)需要修改的地方只有兩處,

源碼中已經(jīng)暴露了一個(gè)全局變量layer,故只需在腳本末尾處添加

export default layer;1

這表示將這個(gè)全局變量導(dǎo)出。

然后在文件中找到下面的代碼注釋掉,這段代碼是為layer添加樣式的,但使用的路徑不對,故沒有太大幫助。

document.head.appendChild(function() {
  var link = doc.createElement('link');
  link.href = path + 'need/layer.css?2.0';
  link.type = 'text/css';
  link.rel = 'styleSheet'link.id = 'layermcss';
  return link;
} ());

接下來把layer.js和layer.css分別放入static/js和static/css中,在需要的地方,比如組件內(nèi)部或者全局注冊,因?yàn)轫?xiàng)目多處都會用到,所以采用全局注冊,在main.js中

import layer from '../static/js/layer.js'

layer.css也使用全局注冊,它可以放在index.html中通過link引入,也可以放在App.vue中

<!--index.html-->
<link rel="stylesheet" href="./static/css/layer.css" />
<!--或者-->
<!--App.vue-->
<style>
@import "../static/css/layer.css";
</style>

接下來就能在各個(gè)組件中使用layer.open等方法了。

這種方式應(yīng)該可以適用于各種不支持import導(dǎo)入的腳本,即非npm提供的module。

以上是“vue-cli腳手架引入彈出層layer插件的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI