您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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è)資訊頻道!
免責(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)容。