最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue.js高效前端開(kāi)發(fā)

 更新時(shí)間:2023年03月22日 10:58:28   作者:明金同學(xué)  
Vue是構(gòu)建Web界面的JavaScript庫(kù),原稱為Vue.js,它可以通過(guò)簡(jiǎn)潔的API來(lái)提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng),本文詳細(xì)介紹了Vue的使用安裝和相關(guān)知識(shí),有興趣的同學(xué)可以參考借鑒

一、Vue概述

1、Web前端框架介紹

近幾年,互聯(lián)網(wǎng)前端行業(yè)發(fā)展得依舊迅猛,涌現(xiàn)出了很多優(yōu)秀的JavaScript框架,同時(shí)這些JavaScript框架也正在逐漸改變統(tǒng)的前端開(kāi)發(fā)方式。

在這些新出現(xiàn)的JavaScript框架中,最具代表性的框架有Angular.js、React.js和Vue.js。

2、MVC和MVVM

MVC是著名的設(shè)計(jì)模式,基本思想是將軟件結(jié)構(gòu)分解為Model(模型)、View(視圖)和Controller(控制器)三部分組成。

  • Model:主要負(fù)責(zé)數(shù)據(jù)處理和運(yùn)算。
  • Controller:主要負(fù)責(zé)接收輸入的數(shù)據(jù)并控制選擇使用哪個(gè)View顯示。
  • View:主要負(fù)責(zé)顯示數(shù)據(jù)和用戶交互。

MVVM設(shè)計(jì)模式是由Model(模型)、View(視圖)和ViewModel(視圖模型)三部分組成,是MVC設(shè)計(jì)模式的進(jìn)化版,即Controller轉(zhuǎn)變?yōu)閂iewModel。

這種模式可以使View的變化自動(dòng)化更新到ViewModel,而ViewModel的變化也會(huì)自動(dòng)同步到View上顯示。

3、Vue介紹

Vue是構(gòu)建Web界面的JavaScript庫(kù),原稱為Vue.js,它可以通過(guò)簡(jiǎn)潔的API來(lái)提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng)。它提供了現(xiàn)代Web開(kāi)發(fā)中常用的高級(jí)功能,

比如:

  • 解耦視圖和數(shù)據(jù)。
  • 可復(fù)用的組件。
  • 數(shù)據(jù)綁定。
  • 功能插件化。
  • 虛擬DOM(Virtual DOM)。

4、安裝Vue

使用Vue之前先安裝vue.js,有兩種方式安裝Vue.js。

安裝獨(dú)立版本

<script src=“js/vue.min.js"></script>

使用CDN引入

<script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>

二、Vue使用

1、第一個(gè)Vue應(yīng)用

使用Vue的過(guò)程就是定義MVVM各個(gè)組成部分的過(guò)程,其過(guò)程步驟如下

定義View :

<!--這是View-->
<div id="app">
	{{ message }}
</div>

定義Model

// 這是Model
var exampleData = {
	message: "Hello World! "
};

創(chuàng)建一個(gè)Vue實(shí)例或ViewModel,它用于連接View和Model。

// 創(chuàng)建一個(gè)Vue實(shí)例或ViewModel,它連接View與 Model
var vm=new Vue({
	el: '#app',
	data: exampleData
});

 2、Vue的雙向綁定

在Vue.js中,ViewModel、View以及Model進(jìn)行交互的方式,如下圖所示

 在Vue.js中可以使用v-model指令在表單元素上創(chuàng)建雙向數(shù)據(jù)綁定

示例:

html代碼:

<!--這是View-->
<div id="app">
    <p>{{ message }}</p>
    <input type="text" v-model="message"/>    
</div>

JavaScript代碼:

// 這是Model
var exampleData = {
    message: "Hello World!"
};
// 創(chuàng)建一個(gè)Vue實(shí)例
var vm=new Vue({
    el: '#app',
    data: exampleData
});

v-model雙向綁定

當(dāng)更改文本框的值時(shí),

{{ message }}

中的內(nèi)容也會(huì)被更新

3、實(shí)踐練習(xí)

三、Vue生命周期

1、Vue的實(shí)例和數(shù)據(jù)

Vue應(yīng)用的創(chuàng)建很簡(jiǎn)單,語(yǔ)法如下面代碼所示

語(yǔ)法:

var vm=new Vue({
	// 選項(xiàng)參數(shù)
});

通過(guò)構(gòu)造函數(shù)Vue就可以創(chuàng)建一個(gè)Vue的根實(shí)例,并啟動(dòng)Vue應(yīng)用

常用的選項(xiàng)參數(shù)包含如下:

選項(xiàng)參數(shù)說(shuō)明
el提供一個(gè)在頁(yè)面上已存在的DOM元素作為Vue實(shí)例的掛載目標(biāo)
dataVue實(shí)例的數(shù)據(jù)對(duì)象。Vue將會(huì)遞歸將data的屬性轉(zhuǎn)換為getter/setter,從而讓data的屬性能夠響應(yīng)數(shù)據(jù)變化
methodsVue實(shí)例的方法集合,可以在Vue直接調(diào)用或?qū)⒎椒ń壎ǖ紻OM元素的事件上
computedVue實(shí)例的計(jì)算屬性集合
watch觀察Vue實(shí)例變化的一個(gè)表達(dá)式或計(jì)算屬性函數(shù)
components包含Vue實(shí)例可用組件的哈希表
filters包含Vue實(shí)例可用過(guò)濾器的哈希表
template定義字符串模板作為Vue實(shí)例的標(biāo)識(shí)使用

示例: 通過(guò)Vue實(shí)例的data選項(xiàng),可以聲明應(yīng)用內(nèi)需要雙向綁定的數(shù)據(jù)。

也可以將所有會(huì)用到的數(shù)據(jù)都預(yù)先在data內(nèi)聲明,這樣不至于將數(shù)據(jù)散落在業(yè)務(wù)邏輯中,難以維護(hù)

HTML代碼:

<div id="app"></div>

當(dāng)掛載成功后,就可以通過(guò)vm.$el來(lái)訪問(wèn)該元素

 JavaScript 代碼:

var vm=new Vue({
    el:document.getElementById("app")  // 或者是#app
});

示例: 通過(guò)Vue實(shí)例的data選項(xiàng),可以聲明應(yīng)用內(nèi)需要雙向綁定的數(shù)據(jù)。也可以將所有會(huì)用到的數(shù)據(jù)都預(yù)先在data內(nèi)聲明,這樣不至于將數(shù)據(jù)散落在業(yè)務(wù)邏輯中

HTML代碼:

<div id="app"></div>

所有會(huì)用到的數(shù)據(jù)預(yù)先在data內(nèi)聲明

 JavaScript代碼:

var vm=new Vue({
  el:"#app",
  data:{
      title:"",
      user:{
        name:"",
        age:0
      }
  }
});

示例:

在Vue實(shí)例內(nèi)部訪問(wèn)data中的數(shù)據(jù)時(shí)一般使用“this.數(shù)據(jù)”的方式,如果在Vue實(shí)例外部訪問(wèn)data中的數(shù)據(jù)時(shí),使用Vue實(shí)例對(duì)象來(lái)訪問(wèn)

JavaScript代碼:

var vm=new Vue({
//…data代碼同上例
 methods:{
    doSave:function(){
      console.log("姓名:",this.user.name)
    }
  }
});

var vm=new Vue({
//…data代碼同上例
});

// 在Vue實(shí)例外部訪問(wèn)data中的數(shù)據(jù)
console.log(vm.user.name);

在實(shí)例外部,使用實(shí)例對(duì)象的方式訪問(wèn)

2、Vue生命周期鉤子函數(shù)

Vue實(shí)例有一個(gè)完整的生命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染、更新、渲染到銷(xiāo)毀等一系列過(guò)程,稱為Vue的生命周期。

通俗說(shuō)Vue實(shí)例從創(chuàng)建到銷(xiāo)毀的過(guò)程,就是它的生命周期。

每個(gè)Vue實(shí)例創(chuàng)建時(shí),都會(huì)經(jīng)歷一些系列的初始化過(guò)程,同時(shí)也會(huì)調(diào)用相應(yīng)的生命周期函數(shù),這些生命周期函數(shù)稱為“鉤子函數(shù)”

開(kāi)發(fā)者可以利用這些鉤子函數(shù),在合適的時(shí)機(jī)執(zhí)行相關(guān)業(yè)務(wù)邏輯代碼。在Vue實(shí)例的生命周期,鉤子比較常用的函數(shù)有:

  • created()函數(shù):實(shí)例建立完成后調(diào)用
  • mounted()函數(shù):el掛載到實(shí)例上后調(diào)用
  • beforeDestroy()函數(shù):實(shí)例銷(xiāo)毀之前調(diào)用

 示例: 下面示例中,在created()鉤子函數(shù)中對(duì)模型加載數(shù)據(jù),而在mounted()函數(shù)中讀取el綁定的元素的信息。

HTML代碼:

<div id="app">
  <h1>{{ title }}</h1>
</div>

JavaScript代碼:

created:function() {
  this.title="生命周期鉤子函數(shù)";
  console.log("created()鉤子函數(shù)執(zhí)行...");
}


mounted:function() {
  console.log(this.$el);
  console.log("模型title的值:",this.title);
  console.log("mounted()鉤子函數(shù)執(zhí)行...");
}

3、實(shí)踐練習(xí)

四、過(guò)濾器

1、過(guò)濾器使用

Vue.js支持在{{}}的插值的尾部添加一個(gè)管道符(“|”)對(duì)數(shù)據(jù)進(jìn)行過(guò)濾

創(chuàng)建過(guò)濾器有兩種方式:

  • 全局創(chuàng)建過(guò)濾器
  • 局部創(chuàng)建過(guò)濾器

 語(yǔ)法:

//創(chuàng)建全局過(guò)濾器
Vue.filter("過(guò)濾器名",function(val){
  過(guò)濾語(yǔ)句
});
//創(chuàng)建局部過(guò)濾器
var vm = new Vue({
  el: "#app",
  filters:{
    過(guò)濾器名:function(val){
      過(guò)濾語(yǔ)句
    }
  }
});
<div id="app">
    {{ 模型數(shù)據(jù) | 過(guò)濾器 }}
</div>

示例: 使用過(guò)濾器實(shí)現(xiàn)將英文單詞轉(zhuǎn)換為首字母大寫(xiě)顯示。

HTML代碼:

<div id="app">
  <div class="banner">
    {{ text | tranformFilter }}
  </div>
</div>

JavaScript代碼:

2、實(shí)踐練習(xí)

總結(jié):

Vue是構(gòu)建Web界面的JavaScript庫(kù)。 使用Vue的過(guò)程就是定義MVVM各個(gè)組成部分的過(guò)程,其過(guò)程步驟如下 定義View。

 定義Model。 創(chuàng)建一個(gè)Vue實(shí)例或ViewModel,它用于連接View和Model。

 在Vue.js中可以使用v-model指令在表單元素上創(chuàng)建雙向數(shù)據(jù)綁定

 Vue實(shí)例有一個(gè)完整的生命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染、更新、渲染到銷(xiāo)毀等一系列過(guò)程,稱為Vue的生命周期

 Vue.js支持在{{}}的插值的尾部添加一個(gè)管道符(“|”)對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,經(jīng)常用于格式化文本,比如字母全部大寫(xiě)、貨幣千位使用逗號(hào)分隔等。

 以上就是Vue.js高效前端開(kāi)發(fā)的詳細(xì)內(nèi)容,更多關(guān)于Vue 前端開(kāi)發(fā)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue-cli框架實(shí)現(xiàn)計(jì)時(shí)器應(yīng)用

    Vue-cli框架實(shí)現(xiàn)計(jì)時(shí)器應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了Vue-cli框架實(shí)現(xiàn)計(jì)時(shí)器應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問(wèn)頁(yè)面顯示空白問(wèn)題

    解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問(wèn)頁(yè)面顯示空白問(wèn)題

    這篇文章主要介紹了解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問(wèn)頁(yè)面顯示空白問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 基于vue-cli3和element實(shí)現(xiàn)登陸頁(yè)面

    基于vue-cli3和element實(shí)現(xiàn)登陸頁(yè)面

    這篇文章主要介紹了vue-cli3和element做一個(gè)簡(jiǎn)單的登陸頁(yè)面本文實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Vue Element前端應(yīng)用開(kāi)發(fā)之常規(guī)的JS處理函數(shù)

    Vue Element前端應(yīng)用開(kāi)發(fā)之常規(guī)的JS處理函數(shù)

    在我們使用Vue Element處理界面的時(shí)候,往往碰到需要利用JS集合處理的各種方法,如Filter、Map、reduce等方法,也可以涉及到一些對(duì)象屬性賦值等常規(guī)的處理或者遞歸的處理方法,本篇隨筆列出一些在VUE+Element 前端開(kāi)發(fā)中經(jīng)常碰到的JS處理場(chǎng)景,供參考學(xué)習(xí)。
    2021-05-05
  • vue3 emit is not a function問(wèn)題及解決

    vue3 emit is not a function問(wèn)題及解決

    這篇文章主要介紹了vue3 emit is not a function問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • vue項(xiàng)目中實(shí)現(xiàn)圖片預(yù)覽的公用組件功能

    vue項(xiàng)目中實(shí)現(xiàn)圖片預(yù)覽的公用組件功能

    小編接到查看影像的功能需求,根據(jù)需求,多個(gè)組件需要用到查看影像的功能,所以考慮做一個(gè)公用組件,通過(guò)組件傳值的方法將查看影像文件的入?yún)鬟^(guò)去。下面小編通過(guò)實(shí)例代碼給大家分享vue項(xiàng)目中實(shí)現(xiàn)圖片預(yù)覽的公用組件功能,需要的朋友參考下吧
    2018-10-10
  • VueJs路由跳轉(zhuǎn)——vue-router的使用詳解

    VueJs路由跳轉(zhuǎn)——vue-router的使用詳解

    本篇文章主要介紹了VueJs路由跳轉(zhuǎn)——vue-router的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • vue+intro.js插件實(shí)現(xiàn)引導(dǎo)功能

    vue+intro.js插件實(shí)現(xiàn)引導(dǎo)功能

    使用 intro.js這個(gè)插件,來(lái)實(shí)現(xiàn)一個(gè)引導(dǎo)性的效果,經(jīng)常在一些新手引導(dǎo)頁(yè)遇到這樣的需求,下面通過(guò)本文給大家分享vue+intro.js插件實(shí)現(xiàn)引導(dǎo)功能,感興趣的朋友一起看看吧
    2024-06-06
  • vue使用echarts圖表自適應(yīng)的幾種解決方案

    vue使用echarts圖表自適應(yīng)的幾種解決方案

    這篇文章主要給大家介紹了關(guān)于vue使用echarts圖表自適應(yīng)的幾種解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Vue頁(yè)面渲染中key的應(yīng)用實(shí)例教程

    Vue頁(yè)面渲染中key的應(yīng)用實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于Vue頁(yè)面渲染中key的應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

福安市| 平潭县| 三台县| 奉新县| 四川省| 尼勒克县| 松溪县| 巩义市| 新乡县| 辉县市| 阜南县| 抚顺县| 壶关县| 策勒县| 黄平县| 汉源县| 上高县| 司法| 鄯善县| 修文县| 太原市| 博兴县| 常熟市| 西乌| 兴安盟| 台南县| 开阳县| 太原市| 龙口市| 香港 | 灌南县| 普洱| 津市市| 康保县| 从江县| 上犹县| 青河县| 保亭| 柏乡县| 全南县| 深圳市|