• 实例成员


    实例

    el:实例

    new Vue({
        el: '#app'
    })
    // 实例与页面挂载点一一对应
    // 一个页面中可以出现多个实例对应多个挂载点
    // 实例只操作挂载点内部内容
    

    data:数据

    为插值表达式中变量提供数据

    data中的数据可以通过vue实例直接或间接访问.

    在new Vue ({})括号中设定的方法

    method:方法

    为v-on事件绑定事件

    methods为事件提供方法

    delimiters:分隔符

    当vue的{{}}与模板语法冲突时,可以设置更改

    new Vue({
    	el: '#app',
        data: {},
        delimiters: ['[{', '}]'],  // 修改插值表达式符号})
    

    delimiters是个二元数组,第一个元素为左侧,第二个元素为右侧.

    filter:过滤器

    1. 在filters成员中定义过滤器方法
    2. 可以对多个值进行过滤,过滤时还可以传入额外的辅助参数
    3. 过滤的结果可以再进行下一次过滤(可以进行过滤的串联)
    <body>
        <div id="app">
            <!--
            总结:
            1、在filters成员中定义过滤器方法
            2、可以对多个值进行过滤,过滤时还可以额外传入辅助参数
            3、过滤的结果可以再进行下一次过滤(过滤的串联)
            -->
            <p>{{ num | f1 }}</p>
            <p>{{ a, b | f2(30, 40) | f3 }}</p>
        </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                num: 10,
                a: 10,
                b: 20,
            },
            filters: {
                // 传入所有要过滤的条件,返回值就是过滤的结果
                f1 (num) {
                    console.log(num);
                    return num * 10;
                },
                f2 (a, b, c, d) {
                    console.log(a, b, c, d);
                    return a + b + c + d;
                },
                f3 (num) {
                    return num * num;
                }
            }
        })
    </script>
    

    computed:计算

    1. computed计算属性可以声明 方法属性(该方法属性一定不能在data中声明,否则会报重复声明错误)
    2. 方法属性 必须在页面中渲染,才会启动绑定的方法(result),方法属性的值就是绑定方法(result)的返回值.
    3. 绑定的方法中出现的所有变量都会被监听,任何一个发生变化的值更新都会重新回调绑定方法,从而更新方法属性的值
    4. 一般用来解决:一个变量值依赖多个变量的问题
    <body>
        <div id="app">
            <input type="number" min="0" max="100" v-model="n1">
            +
            <input type="number" min="0" max="100" v-model="n2">
            =
            <button>{{ result }}</button>
        </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                n1: '',
                n2: '',
                // result: 0,
            },
            /**
             * 总结:
             * 1、computed计算属性可以声明 方法属性(方法属性一定不能在data中重复声明)
             * 2、方法属性 必须在页面中渲染,才会启用绑定的方法,方法属性的值就是绑定
             * 方法的返回值
             * 3、绑定的方法中出现的所有变量都会被监听,任何一个变化发生值更新都会
             * 重新出发绑定方法,从而更新方法属性的值
             *
             * 一般用来解决的问题:一个变量值依赖于多个变量
             */
            computed: {
                result () {
                    console.log('被调用了');
                    n1 = +this.n1;
                    n2 = +this.n2;
                    return n1 + n2;
                }
            }
        })
    </script>
    

    watch:监听

    1. 监听的属性需要在data中声明,监听方法不需要返回值
    2. 监听的方法名就是监听的属性名()
    3. 监听方法有两个回调函数:n:当前值;o:上一次的值
    4. 解决了:多个变量依赖于一个变量的问题
    5. 属性更新,方法被调用
    <body>
        <div id="app">
            <p>姓名:<input type="text" v-model="full_name"></p>
            <p>姓:{{ first_name }}</p>
            <p>名:{{ last_name }}</p>
        </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                full_name: '',
                first_name: '未知',
                last_name: '未知',
            },
            watch: {
                // n是监听的属性当前值,o是其上一次的值,监听的属性值每次更新都会回调监听方法
    
                /**
                 * 总结:
                 * 1、监听的属性需要在data中声明,监听方法不需要返回值
                 * 2、监听的方法名就是监听的属性名,该属性值发生更新时就会回调监听方法
                 * 3、监听方法有两个回调参数:当前值,上一次值
                 *
                 * 解决的问题:多个变量值依赖于一个变量值
                 */
                full_name(n, o) {
                    name_arr = n.split('');
                    this.first_name = name_arr[0];
                    this.last_name = name_arr[1];
                },
            }
        })
    </script>
    

    template:模板

    根组件的模板是替换挂载点的模板

    局部或全局组件的模板是替换挂载点的模板

    props:

    子组件可以通过props自定义组件属性(采用反射机制,需要填写字符串,但是使用时可以直接作为变量)

    components:注册组件

    局部子组件的注册使用,相当于创建一个临时占位符,程序运行后挂载点部分会被模板替换

  • 相关阅读:
    ASP.NET AJAX 's UpdatePanel 中使用Page.ClientScript.RegisterStartupScript 失败
    从struct到byte[]之RawFormatter
    一个HTTP.二进制POST和HTTP指定长度接收的C++实现
    发现移动太NB了,验证码图像路径直接包含验证码
    又一个网页下载者木马
    Trojan program TrojanDownloader.JS.IstBar.ai 病毒样本
    用控件的方式解决问题在客户端关联WEB控件引用
    需要防范的XSS攻击
    用"指定字符组成的任意进制"转换生成不带4的卡号
    人为漏洞的构造、文件的载入、验证机制的突破
  • 原文地址:https://www.cnblogs.com/agsol/p/12064578.html
Copyright © 2020-2023  润新知