vue的初之体验~

111 阅读2分钟

「这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

简述:

Vue (读音/vju:/,类似于view)是一套用于构建用户界面的渐进式框架。 Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合.使用时,Vue也完全能够为复杂的单页应用提供驱动。

基本使用步骤

第一步:引入vue.js库

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

第二步:写一个显示vue数据的div

  • {{}}:插值表达式,可以显示vue中的data的数据 <div id="app">{{message}}</div>

第三步:添加vue固定代码

  1. 创建一个vue对象
  2. 绑定vue作用的范围
  3. 定义页面中显示的模型数据
 <script>
     //创建一个vue对象
     new Vue({
         el:'#app',  //绑定vue作用的范围
         data:{      //定义页面中显示的模型数据 
             message:'Hello Vue!'
         }
     })
 </script>

看效果:

image.png

vue数据绑定指令

单向数据绑定:v-bind

  • 这个指令一般用于在标签属性里面,获取值。

举个栗子:

    <div id="app">
        <h1 v-bind:title="message">
            {{content}}
        </h1>

        <!-- 简单写法 -->
        <h2 :title="message">
            {{content}}
        </h2>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                content:'我是标题!',
            }
        })
    </script>

看效果:

image.png

双向数据绑定:v-model

    <div id="app">
        <!-- 单向数据绑定 -->
        <p>v-bind</p>
        <input type="text" v-bind:value="searchMap.keyword">

        <!-- 双向数据绑定 -->
        <p>v-model</p>
        <input type="text" v-model="searchMap.keyword">

    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                searchMap:{
                    keyword:"123"
                },
            }
        })
    </script>

看效果:

image.png

v-bind和v-model同时绑定着searchMap.keyword数据,此时你会发现当你修改v-model文本框中的数据时,v-bind的内容也在随之改变。

vue事件绑定指令:v-on

举个栗子:

  • v-on:指定绑定事件,click指定绑定的事件类型,事件发生时调用vue中methods中定义的的方法。
    <div id="app">
        <button v-on:click="fun1()">fun1</button>
        <!-- 简写 -->
        <button @click="fun2()">fun2</button>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {     //定义属性
                searchMap:{
                    keyword:"Vue"
                }
            },
            methods:{   //定义多个方法
        
                fun1(){
                    console.log("fun1...")
                },
                fun2(){
                    console.log("fun2...")
                }
            }  
        })
    </script>

看效果:

image.png

vue修饰符.prevent

  • v-on:submit.prevent="OnSubmit()":否定默认的提交函数方法,使用自己定义的方法执行。 举个栗子:
    <div id="app">
        <form action="save" v-on:submit.prevent="OnSubmit()">
            <input type="text" id="name" v-model:value="user.name">
            <input type="submit"  value="提交">
        </form>
        <h2 v-bind:title="message">{{user.name}}</h2>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                user:{name:'李四'}
            },
            methods:{
                OnSubmit(){
                    if(this.user.name){
                        console.log("提交表单!")
                    }else{
                        alert("请输入!")
                    }
                }
            }
        })
    </script>

看效果:

image.png

vue条件渲染指令:v-if v-else

举个栗子: 通过控制ok的Boolean值改变文本内容(默认是false,则为lisi)

    <div id="app">
        <input type="checkbox" v-model:value="ok">是或否
        <h1 v-if="ok">李四</h1>
        <h1 v-else>lisi</h1>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                ok:false
            }
        })
    </script>

看效果:

image.png

vue循环指令 v-for

举个栗子:循环10次,每次循环的数值都赋值给n。

    <div id="app">
        <ul>
            <!-- 循环10次,每次循环的数值都赋值给n -->
            <li v-for="n in 10">{{n}}</li>
        </ul>
    </div>
    <script src="vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {}
        })
    </script>

看效果:

image.png

本文至此结束!希望内容对你有所帮助!