【Vue】Re01 理論概念和入門上手


一、Vue概述

什么是漸進式?
1、把Vue作應用的一部分嵌套項目中
2、如果完全拋棄其他組件和框架,Vue又具有豐富的生態和庫萊支持
3、Core + Router + VueX 滿足項目絕大多數的需求
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
特點和特性:

1、解耦視圖與數據
2、可復用的組件
3、前端路由技術
4、狀態管理
5、虛擬Dom
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vue 安裝

1、使用cdn引用
生產版本和開發版本的區別:
開發版本:
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
保留代碼格式,保留警告、打印、提示

所以文件大小較大
生產版本:
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
格式壓縮,移除所有的警告、打印、提示

文件大小被壓縮到很小

2、下載到本地進行引用
開發:
https://vuejs.org/js/vue.js
生產:

https://vuejs.org/js/vue.min.js

3、使用NPM安裝

通過webpack & CLI的使用進行安裝
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
原始的JS開發:【編程范式 : 命令式編程】

1、創建一個div標簽
2、設置該標簽的id值為app
3、在js中定義message變量

4、把message變量放置在div標簽中進行顯示

Vue的開發:【編程范式 :聲明式編程】
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
方法和函數的區別

Method
Function
方法一般被實例所調用,聲明定義在類中

函數不具有實例特性,直接聲明直接調用

二、上手案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!-- 界面的部分只需要處理HTML標簽,不需要更改Mustache模板 -->
<div id="app">
    <h3>{{message}}</h3>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
    const vm = new Vue({
        el : '#app', // 綁定掛載的元素
        data : { // 定義和聲明數據
            message : '哈哈哈哈' /* 在這里處理數據 實現頁面和數據的解耦 */ /* 另外數據更新也不需要操作Dom實現,直接就能進行重新渲染 */
        }
    });
</script>

</body>
</html>

展示列表:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    <h3>{{message}}</h3>
    <p>{{movies}}</p>
    <ul>
        <li v-for="movie in movies">{{movie}}</li>
    </ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
    const vm = new Vue({
        el : '#app',
        data : {
            message : 'sda',
            movies : [
                '大話西游',
                '星際穿越',
                '盜夢空間',
                '1911'
            ]
        }
    });
</script>

</body>
</html>

計數器案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!-- 列表顯示 -->
<div id="vue-application">
    <h3>當前計數值 : {{varCount}} </h3>
    <p>
        <button @click="increase">增加1</button>
        <button @click="decrease">減少1</button>
    </p>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
    let vueObj = new Vue({
        el : '#vue-application' ,
        data : {
            varCount : 0
        },
        methods : {
            increase() {
                // 對計數器的增加進行上限處理
                if (this.varCount === 10) {
                    alert('已達到上限'); return;
                }
                this.varCount ++
            },
            decrease() {
                // 對計數器的增加進行下限處理
                if (this.varCount === 0) {
                    alert('已達到下限'); return;
                }
                this.varCount --
            }
        }
    });
</script>

</body>
</html>

三、理解MVVM

MVVM = Model + View + ViewModel

Model層:
數據層
來自服務請求提供的數據

View層:
視圖層
前端開發中Dom結構即視圖的顯現
主要用來給用戶呈現數據處理后的信息

ViewModel層:
視圖模型層
VM橋接了 View + Model,是兩者溝通建立的橋梁
實現了Data-binding也就是數據綁定

四、Vue實例生命周期

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM