【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实例生命周期

原文地址:https://www.cnblogs.com/mindzone/p/13877021.html