一.什么是Vue

Vue是一套前端框架,免除原生JS中的DOM操作,简化书写

基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上

框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。Vue-基础知识_html

二、Vue快速入门

1.新建HTML页面,引入Vue.js文件

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

2.在JS代码区域,创建Vue核心对象,定义数据模型

<script>
    new Vue({
        el: "#app",//vue接管区域
        data: {
            message: "Hello Vue"
        }
    })
</script>

3.编写视图

<div id="app">
        <input type="text" v-model="message">
        {{message}}
    </div>

完整代码如下

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

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

<body>

    <div id="app">
        <input type="text" v-model="message">
        {{message}}
    </div>
</body>
<script>
    new Vue({
        el: "#app",//vue接管区域
        data: {
            message: "Hello Vue"
        }
    })
</script>

</html>

Vue-基础知识_vue.js_02

三.Vue常用指令

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

常用指令如下:     Vue-基础知识_vue.js_03

1.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>Document</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">
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data: {
            url: "https://www.baidu.com"
        }
    })
</script>

</html>

Vue-基础知识_vue.js_04

2.v-on

<input type="button" value="点我一下" v-on:click="handle()">


<input type="button" value="点我一下" @click="handle()">//简写
<!DOCTYPE html>
<html lang="en">

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

<body>
    <div id="app">
        <input type="button" value="点我一下" v-on:click="handle()">

        <input type="button" value="点我一下" @click="handle()">
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data: {

        },
        methods: {
            handle: function () {
                alert("你点我了一下....")
            }
        }
    })
</script>

</html>

Vue-基础知识_Vue_05

3.v-if v-show

年龄<input type="text" v-model="age">经判定为:
        <span v-if="age<=35">年轻人</span>
        <span v-else-if="age>35 && age<60">中年人</span>
        <span v-else>老年人</span>
年龄<input type="text" v-model="age">经判定为:
        <span v-show="age<=35">年轻人</span>
<!DOCTYPE html>
<html lang="en">

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

<body>
    <div id="app">
        年龄<input type="text" v-model="age">经判定为:
        <span v-if="age<=35">年轻人</span>
        <span v-else-if="age>35 && age<60">中年人</span>
        <span v-else>老年人</span>

        <br><br>

        年龄<input type="text" v-model="age">经判定为:
        <span v-show="age<=35">年轻人</span>
        <span v-show="age>35 && age<60">中年人</span>
        <span v-show>老年人</span>


    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data: {
            age: 20
        },
        methods: {

        }
    })
</script>

</html>

Vue-基础知识_vue.js_06

注意:v-if v-else-if v-else和v-show的区别,前面三个是满足要求才会显示,而v-show而是基于CSS来决定display是否展示

4.v-for

<div v-for="addr in addres">{{addr}}</div>
        <!-- index是索引,addr自定义名称{{里面用来展示数据}} -->
        <div v-for="(addr,index) in addres">{{index}} : {{addr}}</div>
<!DOCTYPE html>
<html lang="en">

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

<body>
    <div id="app">
        <div v-for="addr in addres">{{addr}}</div>
        <!-- index是索引,addr自定义名称{{里面用来展示数据}} -->
        <div v-for="(addr,index) in addres">{{index}} : {{addr}}</div>
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data: {
            addres: ["北京", "上海", "西安", "成都", "深圳"]
        },
        methods: {

        }
    })
</script>

</html>

Vue-基础知识_Vue_07