用Vue 和Bootstrap 4 來構建Web前端界面

2020-12-14 蟲蟲搜奇

儘管前端程序現在發展迅速,各種框架層出不窮,但是對廣大非前端碼農來說構建Web界面的最好的選擇仍然還是Bootstrap 4。但是Bootstrap依賴於已經嚴重過時,被拋棄的jQuery組件,那麼如何解決這個問題就迫在眉睫了。

Vue項目以其輕巧、高性能,易上手,雙向數據綁定,組件化的特點,快速流行並廣為使用,那麼有沒有可能將Bootstrap的依賴改為Vue呢?答案是肯定的。

本文我們就介紹這樣一個解決方案,Bootstrap-Vue項目。

安裝和設置

Bootstrap-Vue項目提供了Bootstrap項目中jQuery組件依賴了Vue替換方案,可以實現絕大多數案例和組件的替代。我們建議以Vue Cli插件方式使用,這樣可以實現項目自動創建和配置,依賴項添加。首先我們安裝Vue Cli

安裝Vue Cli

由於npm安裝較慢,甚至會失敗,需要,先安裝國內鏡像,可以使用cnpm或者npm別稱:

然後用cnpm安裝vue.js

cnpm install -g @vue.js

創建項目

vue create hello-chongchong

這樣Vue CLI會自動創建一個Vue項目,提示選擇項,選擇"default"即可。

進入該項目目錄:

cd hello-chongchong

使用下面的命令將Bootstrap-Vue插件添加到項目中。選項提示時,選擇 "Y"。

vue add bootstrap-vue

這樣無需任何複雜設置就可以設置好一個以vue啟動的Bootstrap項目。

清除示例

默認情況下,Vue CLI為提供了一個示例HelloWorld應用程式。這都沒啥用的,我們直接清除,包括App.vue和部件目錄下的 HelloWorld.vue:

>src/components/App.vue

rm src/components/HelloWorld.vue

示例使用

創建模版

Bootstrap所有功能基本都可以在bootstrap-vue中以全局註冊的組件來使用。這些組件通常和Bootstrap同名,為了以示區別,他們都以開頭b-xxxx。

在此我們創建一個新的App.vue模板並添加一個Bootstrap容器:

<template>

<b-container>

<p>Hello, Chongchong!</p>

</b-container>

</template>

然後啟用該服務

npm run serve

然後,瀏覽器訪問,應該看到以下內容:

另外,如果查看頁面源碼,可以看到該b-container組件已使用常規的Bootstrap元素和類進行渲染:

<div>

<p>Hello, Chongchong!</p>

</div>

組件配置

許多組件都可以使用Vue道具進行配置。例如, b-btn組件,可以在頁面中添加一個將按鈕。b-btn有一個variant控制按鈕主題,此處設置為primary。

<template>

<b-container>

<p>Hello, Chongchong!</p>

<b-btn variant="primary">Click</b-btn>

</b-container>

</templat

Vue支持將動態值綁定到Bootstrap組件。例如,對b-alert組件添加一個alert提示信息。我們將其設success並提供一些提示信息。

<template>

<b-container>

<p>Hello, Chongchong!</p>

<b-btn variant="primary">Click</b-btn>

<b-alert variant="success">

You clicked the button!

</b-alert>

</b-container>

</template>

可以將showprop綁定到本地data屬性來有條件地顯示信息showAlert。然後將showAlert響應組件click事件來切換的值b-btn。

<template>

<b-container>

<p> Hello, Chongchong!</p>

<b-btn

variant="primary"

@click="showAlert = true"

>

Click

</b-btn>

<b-alert

v-bind:show="showAlert"

variant="success"

>

You clicked the button!

</b-alert>

</b-container>

</template>

<script>

export default {

data: () => ({

showAlert: false

})

};

</script>

比jQuery邏輯寫起來簡單多了。

Bootstrap-Vue指令

一些Bootstrap功能是作為指令而非組件提供的,因此可以輕鬆地將其添加到給已有元素。

例如,要添加工具提示功能,可以使用v-b-tooltip指令。下面我們使用指令參數hover向按鈕添加一個,在按鈕懸停時觸發。

<b-btn

variant="primary"

@click="showAlert = true"

v-b-tooltip.hover

title="This button triggers the alert"

>

Click

</b-btn

註:tooltip插件需要popper.js的依賴項,但是使用Vue CLI安裝Bootstrap-Vue,會自動include。

總結:

利用Bootstrap-Vue 來替換Bootstrap 4中的jQuery非常容易,而且可以帶來vue cli的巨大的功能優勢,大家可以嘗試將手頭的項目都替換一下。

相關焦點

  • 什麼是vue?在項目開發中為什麼要用vue?
    在近兩年的web及項目開發中,vue技術的使用越來越普遍,其各種資料、介紹以及使用攻略內容資料非常多,那麼vue到底什麼?在項目開發中,vue起到什麼作用?它與傳統的html+css+js+lamp開發網站項目又有什麼區別呢?
  • 前端開發大盤點:2015最流行前端框架TOP20
    >、名稱:html5-boilerplate類別/語言:HTML、CSS、JavaScript創建者:Paul Irish人氣:在Github上有32,349stars描述:HTML5 Boilerplate 幫你構建快速, 健壯, 並且適應力強的web app或網站。
  • python開發web服務 bottle框架
    開發功能不是特別複雜的web服務,可以考慮使用bottle框架。原因:一、Python開發效率高呀!不信你比比同樣的功能Python幾行可以搞定?換java試試?換C++試試?作為這幾種語言都使用過的我來說,用過java就儘量不用C++,用過Python就儘量不用java,真的不堪回首。
  • web前端怎麼樣才能入門
    web前端怎麼樣才能入門,首先我們要從什麼是初級web前端工程師說起:按照我的想法,我把前端工程師分為了入門、初級、中級、高級這四個級別:入門級別指的是了解什麼是前端(前端到底是什麼其實很多人還是不清楚的
  • 前端框架bootstrap4.4入門教程,使用方法實例響應式布局實戰
    bootstrap是我最喜歡的前端框架,沒有之一,當前的最新版本是bootstrap4.4.1,和之前的3.X版本相比較有較大的變化,不過都是屬於各種標籤的分離,方法還是一樣的,在網上各種教程雖多,但是對於入門還不是不夠,很多入門教程講得雲裡霧裡,看不懂到底在說些什麼。我覺得使用具體的實例來結合相關的標籤使用才能真正的加深理解。
  • 40 個超棒的免費 Bootstrap HTML5 網站模板
    Bootstrap 是快速開發Web應用程式的前端工具包。
  • 如何用IntellijJ IDEA創建javaweb的maven項目
    小編學習JavaWeb開發有一段時間了,開始學習的基礎知識HTML、CSS、JavaScript、Java,然後學習前端框架bootstrap、angularjs,後端框架SpringMvc、Hibernate。
  • Bootstrap Icons - bootstrap 專用的漂亮開源圖標庫,可以免費商用
    專門為著名的前端開發 UI 框架 Bootstrap 的組件和文檔定製開發的圖標庫。介紹Bootstrap 圖標庫 的設計初衷是與 Bootstrap 組件配合使用,從表單到導航組件等。bootstrap icons 官網截圖特點Bootstrap 是一個凝聚了設計與html/css/js 極致追求的一個移動優先的UI框架,多年來被大量使用在移動+PC的項目上,組件非常優美大氣。
  • Ultimate Vue.js和Laravel CRUD教程
    著名的JavaScript框架專家Vue.js討論了如何創建一個執行CRUD操作的完整堆棧web應用程式。CRUD(創建,讀取,更新和刪除)是數據存儲的基本操作,也是您作為Laravel開發人員學習的第一件事情之一。
  • bootstrap designer - CSDN
    CoreUI Vue (CoreUI Vue)This is Vue.js version of our Bootstrap 4 admin template CoreUI. 這是我們Bootstrap 4管理模板CoreUI的Vue.js版本。
  • Azure 靜態 web 應用集成 Azure 函數 API
    前幾次我們演示了如何通過Azure靜態web應用功能發布vue跟blazor的項目(使用 Azure靜態web應用+Github全自動部署VUE站點、使用Azure靜態Web應用部署Blazor Webassembly應用)。
  • 【分享】Vue.js新手入門指南
    作為一個之前以PHP+模版引擎為主的開發,從一個從未接觸過除HTML+CSS+JavaScript+JQuery以外的前端技術的人到現在可以獨立使用Vue.js以及各種附屬的UI庫來開發項目,我總結了一些知識和經驗想與大家分享。下面我就以問答的形式來分享吧。
  • 前端必看:揭開vue神秘面紗
    -- <script src="https://cdn.bootcss.com/vue/2.4.2/vue.js"></script> --><script>window.vm = new Vue({ data: {
  • 基於SpringBoot和Vue的企業級中後臺項目
    技術體系前端:Vue + Vue-Router + Vuex + ViewUI + vue-enum後端:SpringBoot2 + Mybatis-plus + jwt + druid + mysql前端代碼規範smart-front-standard
  • 基於Vue實現一個有點意思的拼拼樂小遊戲
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言為了加深大家對vue的了解和vue項目實戰,筆者採用vue生態來重構此項目,方便大家學習和探索。
  • 為什麼前端的工資越來越高?
    es6、vue.js、webpack、element-ui、node+express+Mongodb資料庫,微信小程序/公眾號開發、php+mysql+ajax等前端框架技術。 前端從業者面臨的最大挑戰是什麼? 1、前端技術逐漸開始不再局限於Web,或者說不再局限於我們所熟知的JavaScript+ CSS+HTML這三種技術了。隨著前端應用體積的逐漸增大,更多用於提高應用性能、解決大型應用工程化構建問題的解決方案開始逐漸湧現。
  • kuapingUI 1.8 版本發布,跨屏 UI-bootstrap4+ 大組件 ui 框架
    kuapingUI 1.8 版本發布,發布了新的基於bootstrap 4+的組件版本,因為我們收到了用戶反饋,其中較多的是什麼時候出基於
  • 介紹一款極為好用的java代碼生成器
    能大幅降低開發和溝通成本,簡化開發流程,縮短開發周期。適合中小型前後端分離的項目,尤其是網際網路創業項目和企業自用項目。通過自動化開發,前端可以定製任何業務、任何流程!自動生成多層次代碼,代碼結構清晰自動生成java頁面和移動端平臺代碼對於前端主體框架採用jQuery, 極大地簡化了JavaScript 編程UI層使用bootstrap
  • 最近研究Vue源碼時我發現的一些好玩函數
    本文轉載自【微信公眾號:前端人,ID:FrontendPeople】,經微信公眾號授權轉載,如需轉載原文作者聯繫最近在深入研究vue源碼,把學習過程中,看到的一些好玩的的函數方法收集起來做分享,希望對大家對深入學習js有所幫助。如果大家都能一眼看懂這些函數,說明技術還是不錯的哦。