VueJS-数据绑定

一、文本

data

{{data}}

 <div id="div1">{{message}}</div>
    <script>
        var div1 = new Vue({
            el: "#div1",
            data: {
                message:"Hello Vue.js!"
            }
        })
    </script>

页面:

 

二、属性

data

v-bind:attr="data"

 <style>
        .title{ width:300px; height:45px; background:#ffd800; border:1px solid #b6ff00; }
    </style>
    <div id="div2" v-bind:class="addClass" v-bind:title="addTitle"></div>
    <script>
        var div2 = new Vue({
            el: "#div2",
            data: {
                addClass: "title",
                addTitle:"这是一个div"
            }
        })
    </script>

页面:

 

三、Html

data

v-html="data"

    <div id="div3" v-html="addHtml"></div>
    <script>
        var div3 = new Vue({
            el: "#div3",
            data: {
                addHtml:"<input type='text' />"
            }
        })
    </script>

页面:

 

四、用户输入数据

methods

v-model="data" +  {{data}}

<div id="input1">
        <input type="text" v-model="info" />
        <p>{{info}}</p>
    </div>
    <script>
        var input1 = new Vue({
            el: "#input1",
            data: {
                info:"请在此输入数据测试"
            }
        })
    </script>

页面:

                   

 

五、监听事件

methods

v-on:Event="function"

<input id="input2" type="button" value="点击试试" v-on:click="clickTest" />
    <script>
        var input2 = new Vue({
            el: "#input2",
            methods: {
                clickTest: function () {
                    alert("点击成功!");
                }
            }
        })
    </script>

页面:

【初始打开时】         【点击后】

 

六、过滤器

filters

{{data|function}}

<div id="div4">
        {{message|Handle}}
    </div>
    <script>
        var div4 = new Vue({
            el: "#div4",
            data: {
                message:885
            },
            filters: {
                Handle: function (val) {
                    return val + "+ 500=" + (val + 500);
                }
            }
        })
    </script>

接收将表达式中的第一个值,作为方法的一个参数传入,并返回值。用于过滤某个值得表现形式或对其进行格式化

页面:

 

进价多参,多值传递过滤

<div id="div4">
        {{message|moreVal(10,20)}}<br /><!--885+10+20=915-->
        {{message|transmit(20)|moreVal(10,20)}}<!--905+10+20=935 , 解析:905=885+20-->
    </div>
    <script>
        var div4 = new Vue({
            el: "#div4",
            data: {
                message: 885
            },
            filters: {
                Handle: function (val) {
                    return val + "+ 500=" + (val + 500);
                },
                moreVal: function (a, b, c) {
                    return a + "+" + b + "+" + c + "=" + (a + b + c);
                },
                transmit: function (arg1, arg2) {
                    return  arg1 + arg2;
                }
            }
        })
    </script>

说明:过滤器会接收多次传递,默认将表达式的第一个值,参数传递给下一个的表达式,就这样依次传递,直到最后一个

解析:{{message|Handle}} 

将message作为参数传递给Handle,Handle带入过滤器方法然后返回结果:885+ 500=1385

 

解析:{{message|moreVal(10,20)}}

将message作为参数传递给moreVal,并默认传递第二参数为10,第三参数为20,moreVal带入过滤器方法然后返回结果:885+10+20=915

 

解析:{{message|transmit(20)|moreVal(10,20)}}

将message作为参数传递给transmit,并默认传递第二参数为20,transmit带入过滤器方法然后返回结果:905

将transmit返回结果905,继续传递给moreVal,并默认传递第二参数为10,第三参数为20,moreVal带入过滤器方法然后返回结果:905+10+20=935

 

 页面:

 

posted @ 2017-03-26 14:39  YanEr、  阅读(2787)  评论(0编辑  收藏  举报