Vue.js(Ⅰ)

一、什么是vue.js?

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

二、vue.js的基本语法。

    注意:编写vue.js代码之前应该先添加vue.js库。

    1. Vue对象里的属性有那些?

<body>
    <div id="start"></div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
                a:"hello",          //a,b,c相当于定义的变量,用来存储数据
                b:[
                    {"name":"张三","sex":"女"},
                    {"name":"李四","sex":"男"}
                ],
                c:"Tom"
            },
            method:{
                //里面存储各种方法
                add:function(){
                    return this.a+this.c
                }
            },
            computed:{  
                //这是计算属性
            }
        })
    </script>
</body>

2. 那么vue()中的数据怎么在页面显示呢?是通过一些指令来实现的。

    (1)v-bind :这是对标签属性的绑定操作。

<body>
    <div id="start">
        <a v-bind:href="a">百度</a>
     a:"http://www.baidu.com"
            },
        })
    </script>
</body>
<a :href="a>百度</a>                //这是v-bind的缩写

    (2)v-model :给input使用,数据绑定模块。

<body>
    <div id="start">
        <input v-model="msg">
        <p>{{msg}}</p>
    </div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               msg:"hello"
            },
        })
    </script>
</body>

结果如下:


如果我们修改文本框的内容,那么文本框下面的内容也会改变,所以我们可以知道数据的绑定是双向的。

    (3)v-if:条件循环指令。

<body>
    <div id="start">
        <p v-if="msg">hello</p>
    </div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               msg:true
            },
        })
    </script>
</body>

如果msg的值为true则显示文本内容hello,如果为false,则文本不现实。

    (4)v-for:循环指令。

<body>
    <div id="start">
        <p v-for="da in student">
            <span>{{da.name}}</span> <span>{{da.sex}}</span>
        </p>
    </div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               student:[
                   {"name":"Tom","sex":"男"},
                   {"name":"Jeery","sex":"女"},
                   {"name":"Bob","sex":"男"}
               ]
            },
        })
    </script>
</body>

为了看到效果我们可以看浏览器便宜的结果:


    (5)v-on:用于监听DOM事件。

<body>
    <div id="start">
        <input type="text" id="in">
        <input type="button" value="查询" v-on:click="time()">
    </div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               time:function(){
                   var date=new Date();
                   $("#in").val(date)
               }
            },
        })
    </script>
</body>

点击页面上的查询an'n结果显示为:


    (6)v-html:添加html元素。

<body>
    <div id="start" v-html="list"></div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               list:"<p>v-html指令添加元素</p>"
            },
        })
    </script>
</body>

查看浏览器编译结果:



    (7)v-text:向页面添加文本信息。

<body>
    <div id="start" v-text="list"></div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               list:"<p>v-html指令添加元素</p>"
            },
        })
    </script>
</body>

页面显示结果为:


    (8)v-once:执行一次性插值。

注意:当数据改变时,数据不会继续更新。

<body>
    <div id="start">
        <input type="text" v-model="msg">
        <p v-once>{{msg}}</p>
    </div>
    <script>
        new Vue({
            el:"#start",            //相当于vue.js作用的开始
            data:{
               msg:"hello"
            },
        })
    </script>
</body>

结果显示,如果我们修改文本框的值,并不会改变文本框下面的值,当去掉v-once,则文本框下面的值会随之改变。







猜你喜欢

转载自blog.csdn.net/zhanghuali0210/article/details/79532529