zoukankan      html  css  js  c++  java
  • Vue.js_数据绑定

    一、文本

    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

     页面:

  • 相关阅读:
    fatal: protocol error: bad line length character: This
    httpd: apr_sockaddr_info_get() failed for bogon
    Go语言函数
    Go语言流程控制
    进制转换
    Go语言运算符
    LeetCode 62. Unique Paths
    LeetCode 61. Rotate List
    asdfasdfasdf
    开发者,别让自己孤独
  • 原文地址:https://www.cnblogs.com/leona-d/p/6622715.html
Copyright © 2011-2022 走看看