這篇文章主要介紹了怎么徹底移除jQuery和Bootstrap的javascript插件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有鄧州免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。Bootstrap是網(wǎng)上最流行的前端開發(fā)框架. 除了用它,我不知道還有其他更快的方法去構(gòu)建一個響應(yīng)式的網(wǎng)站。
但是自從我向網(wǎng)頁添加動態(tài)功能的工具變成vue.js后。適應(yīng)bootstrap變得困難起來。因為這帶來了一些技術(shù)包袱。沒錯。我說的就是jquery。
這并不是在抨擊jquery,我只是意識到,當(dāng)你已經(jīng)在項目里使用一些像Vue的框架后,再引入jQuery就會出現(xiàn)一些顯著的缺點:
增加開銷。jQuery將會使你的網(wǎng)頁增加30KB。
在使用諸如webpack一類的打包工具時,jquery也會很難與之進(jìn)行配置。
當(dāng)你使用Vue負(fù)責(zé)DOM操作時,你不會愿意Jquery再來將DOM搞的一團(tuán)糟。
徹底移除jQuery和Bootstrap的javascript插件
這里有一個很棒的項目 vue-strap ,它使用Vue.js 內(nèi)置的插件來替換Bootstrap中的Javascript插件。因此你可以使用你項目中原有的Bootstrap插件,比如 modals, carousel, tabs, etc. 他們都是基于 Vue 提供支持.
但是如果你只是用一小部分的Bootstrap插件的話, 我覺得自己定制Vue.js的插件也很容易,那樣的話你也不需要將整個vue-strap都引用進(jìn)來(譯者注:我就是只用了Vue.js和幾個其他需要的plugin :)
下面讓我展示一下怎么使用vue,從零開始設(shè)置一些常用的Bootstrap 插件
自己動手做由vue.js驅(qū)動的Bootstrap小部件
選項卡
我們將從選項卡開始。每一個選項卡都附帶著他的面板. 選項卡的顯示/隱藏是通過添加/移除選項卡與面板的class屬性中的active來實現(xiàn)的,而這就是Vue將要處理的工作。
<div id="tabs"> <ul class="nav nav-tabs"> <li><a>Tab 1</a></li> <li><a>Tab 2</a></li> </ul> <div class="tab-content"> <div class="tab-pane">Pane 1</div> <div class="tab-pane">Pane 2</div> </div> </div>
我們用一個變量tab來跟蹤當(dāng)前被選中的選項卡,并用這個變量來添加/移除選項卡與其對應(yīng)面板的Class屬性中的active:
<div id="tabs"> <ul class="nav nav-tabs"> <li v-bind:class="{ active: tab === 1}"><a>Tab 1</a></li> <li v-bind:class="{ active: tab === 2}"><a>Tab 2</a></li> </ul> <div class="tab-content"> <div class="tab-pane" v-bind:class="{ active: tab === 1}"> Pane 1</div> <div class="tab-pane" v-bind:class="{ active: tab === 2}"> Pane 2</div> </div> </div>
我們還需要在所有的選項卡上監(jiān)聽點擊事件,用來更新我們的tab變量
<div id="tabs"> <ul class="nav nav-tabs"> <li v-bind:class="{ active: tab === 1}" v-on:click="tab = 1"> <a>Tab 1</a> </li> <li v-bind:class="{ active: tab === 2}" v-on:click="tab = 2"> <a>Tab 2</a> </li> </ul> <div class="tab-content"> <div class="tab-pane" v-bind:class="{ active: tab === 1}"> Pane 1</div> <div class="tab-pane" v-bind:class="{ active: tab === 2}"> Pane 2</div> </div> </div>
最后,js代碼:
new Vue({ el: '#tabs', data: { // Tab 1 is selected by default tab: 1 } });
這里還有一些我們可以進(jìn)行的改進(jìn)與優(yōu)化,但為了使本文簡介的緣故就不展開了:
將JavaScript代表包裝成一個Vue組件,以便我們能在整個網(wǎng)站重用這個選項卡代碼。
作為一個真正緊湊的模板。將選項卡和對應(yīng)的面板內(nèi)容放入一個數(shù)組屬性中,然后用 v-for來打印出選項卡與面板的列表來。
模態(tài)框
模態(tài)對話框是我最喜歡的Bootstrap 插件之一。與選項卡類似,我們通過添加/移除一個in的類來控制模態(tài)框的顯示/隱藏。而這些通過一個打開和關(guān)閉按鈕來觸發(fā),
<div id="app" v-bind:class=" { 'modal-open': show }"> <button class="btn btn-primary" v-on:click="toggle"> Open </button> <div class="modal" tabindex="-1" v-bind:class="{ in: show }" v-bind:> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-body"> <p>Vue-powered modal!</p> </div> <div class="modal-footer"> <button class="btn" v-on:click="toggle">Close</button> </div> </div> </div> </div> </div>
對于一個Bootstrap 的模態(tài)框,我們需要在對話框上有一個動態(tài)的內(nèi)聯(lián)樣式。 我們通過 v-bind:style 指令來實現(xiàn),這個指令通過從一個計算屬性中接收一個“對象樣式”進(jìn)行的。每次計算屬性所依賴的變量變化時,他自己都會重新計算一遍:
new Vue({ el: '#app', data: { show: false }, methods: { toggle() { this.show = !this.show; } }, computed: { modalStyle() { return this.show ? { 'padding-left': '0px;', display: 'block' } : {}; } } });
你也可以通過使用Vue的過渡動畫在模態(tài)框進(jìn)入和離開DOM時漸變,來增強(qiáng)你的模態(tài)框。
讓jQuery退休吧,考慮下在下一個Bootstrap 項目中使用Vue.js
不是說你可以在Bootstrap中用vue.js代替jquery,而是說你的確應(yīng)該這么做。因為不管你是使用vue-strap或自己封裝插件,你都可以感到Vue的如下誘人的優(yōu)勢:
與jQuery對比,vue的DOM操作系統(tǒng)允許較高的UI性能和響應(yīng)性。
Vue是被設(shè)計用來建立小型,孤立的UI塊的。所以vue編寫的小部件將比jquery的更容易擴(kuò)展,可維護(hù)性更好。
Bootstrap的小部件有著臭名昭著的混亂模板, 所以vue可以使用他靈活的模板選項來緩解這個問題,如jsx,單頁應(yīng)用組件,渲染功能,類與樣式綁定,等等。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么徹底移除jQuery和Bootstrap的javascript插件”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章題目:怎么徹底移除jQuery和Bootstrap的javascript插件-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article46/dgdphg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、企業(yè)建站、網(wǎng)站策劃、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容