Vue2

1 篇文章 0 订阅

一、Vue概述

Vue 是一款用于构建用户界面的渐进式的JavaScript框架。

  • Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。
  • 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。

既可以局部改造,也可以整体开发,称之为渐进式。

官网:https://cn.vuejs.org/

Model:数据模型,里面包含了很多的业务数据以及数据的处理方法。

View:视图层,只负责数据的展示,就是界面展示html的标签,也可以理解为就是DOM元素。

ViewModel:是View和Model通信的桥梁,可以完成Model和View的数据绑定。

双向数据绑定:一旦完成了数据绑定,数据模型中数据发生变化ViewModel会自动的更新视图层当中的展示,一旦视图层当中的数据发生变化,ViewModel也会自动的更新数据模型当中的数据,这个就称为双向数据绑定ViewModel是双向数据绑定的核心,是vue框架提供的功能。

二、局部使用Vue

  • 快速入门

Vue2:1.引入Vue.js文件2.在JS代码区,创建Vue核心对象,定义数据模型3.编写视图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue2-快速入门</title><!-- 引入vue.js -->
    <script src="js\vue.js"></script>
</head>
<body>
    <!-- 3.定义视图 -->
    <div id="app">
        <input type="text" v-model="message">
        {{message}}
    </div>
</body>
<script>
    //2.定义Vue对象
    new Vue({
        el:"#app",//vue接管的区域
        data:{//data数据模型
            message:"hello vue2"
        }
    })
</script>
</html>

Vue3 :1.准备html页面,并引入Vue模块2.创建Vue程序的应用实例3.准备元素(div),被Vue控制

4.构建用户界面:准备数据,通过插值表达式渲染页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue3-快速入门</title>
</head>
<body>
    <div id="app">
        <h1>{{msg}}</h1>
    </div>
    <!-- 引入vue模块 -->
    <script type="module"> 
        import {createApp} from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
        /* 创建vue的应用实例 */
        createApp({
            data(){
                return{
                    //定义数据
                    msg:'hello vue3'
                }
            }
        }).mount("#app");
    </script>
</body>
</html>

插值表达式 :形式{{表达式}}

内容可以是:变量、三元运算符、函数调用、算术运算

  • 常用指令

指令:HTML标签上带有v-前缀 的特殊属性,不同指令具有不同含义。例如:v-if,v-for..

通过v-bind或者v-model绑定的变量,必须在数据模型中声明。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue指令</title>
    <script src="js/vue.js"></script>
</head>

<body>
    <div id="app">
        <a v-bind:href="url">链接1</a>
        <a :href="url">链接2</a>

        <input type="text" v-model="url">
        <input type="button" value="点击按钮" v-on:click="handle()">
        <input type="button" value="点击按钮" @click="handle()">
        <br><br>
        年龄<input type="text" v-model="age">经判定为:
        <span v-if="age <= 35">年轻人(35岁及以下)</span>
        <span v-else-if="age > 35 && age < 60">中年人(35-60岁)</span>
        <span v-else>老年人(60岁及以下)</span>
        <br><br>
        年龄<input type="text" v-model="age">经判定为:
        <span v-show="age <= 35">年轻人(35岁及以下)</span>
        <span v-show="age > 35 && age < 60">中年人(35-60岁)</span>
        <span v-show="age >= 60">老年人(60岁及以下)</span>
        <br>
        <div v-for="addr in addrs">{{addr}}</div>
        <hr>
        <div v-for="(addr,index) in addrs">{{index + 1}}:{{addr}}</div>
    </div>
</body>
<script>
    //定义Vue对象
    new Vue({
        el: "#app",//接管区域
        data: {
            url: "http://www.baidu.com",
            age: 20,
            addrs:["北京","上海","西安","成都","深圳"]
        },
        methods: {//methods要与data平齐
            handle: function () {
                alert("我被点击了");
            }
        }

    })
</script>

</html>

案例:通过Vue完成表格数据的渲染展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue-指令-案例</title>
    <script src="js/vue.js"></script>
</head>
<body>

    <div id="app">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>成绩</th>
                <th>等级</th>
            </tr>
            <tr align="center" v-for="(user,index) in users">
                <td>{{index + 1}}</td>
                <td>{{user.name}}</td>
                <td>{{user.age}}</td>
                <td>
                    <span v-if="user.gender == 1">男</span>
                    <span v-if="user.gender == 2">女</span>
                </td>
                <td>{{user.score}}</td>
                <td>
                    <span v-if="user.score >= 85">优秀</span>
                    <span v-else-if="user.score >= 60">及格</span>
                    <span v-else style="color:red">不及格</span>
                </td>
            </tr>
        </table>
    </div>

</body>
<script>
    new Vue({
        el:"#app",
        data:{
            users:[{
                name:"Tom",
                age:20,
                gender:1,
                score:78
            },{
                name:"Rose",
                age:18,
                gender:2,
                score:86
            },{
                name:"Jerry",
                age:26,
                gender:1,
                score:90
            },{
                name:"Tony",
                age:30,
                gender:1,
                score:52
            }]
        },
        methods:{

        }
    })
</script>
</html>
  • 生命周期

生命周期:指一个对象从创建到销毁的整个过程。

生命周期的八个阶段:每触发一个生命周期事件,会自动执行一个生命周期方法(钩子)。

 mounted:挂载完成,Vue初始化成功,HTML页面渲染成功。(发送请求到服务端,加载数据)



 以下是后面学习vue3课程中需要更新的 暂时放个目录 

三、整站使用Vue

  • Vue项目构建工具

  • Vue项目目录结构

  • Vue项目开发流程

  • Element-Plus

四、大事件前端

  • 客户端路由

  • 状态管理

  • 25
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值