• .vue事件方法中的this指向 : vue实例

  • 2.vue事件方法中访问data对象中的成员 : this.属性名

    • vue会将data对象与methods对象中的成员 平铺到 vue实例中

  • 3.注意点: 如果事件处理代码没有写到methods中,而是写在行内则不需要this 就可以访问data对象中的成员

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 导包 -->
    <script src="./vue.js"></script>
</head>

<body>
    <!-- HTML结构 -->
    <div id="app">
        {{ msg }} <br>
        <button @click="doClick">点我啊</button>
        <br>
        
        我的年龄:{{ age }}
        <button @click="age++">我要成长</button>

    </div>

    <script>
        /* 创建vue实例 */
        let app = new Vue({
            //el:挂载点
            el: '#app',
            //data: 要渲染的数据
            data: {
                msg: '我是坤坤!',
                age:32
            },
            methods: {
                /* 
                1. vue事件方法中的this指向 :  vue实例
                2. vue事件方法中访问data对象中的成员 : this.属性名
                    * vue会将data对象与methods对象中的成员 平铺到 vue实例中
                3. 注意点: 如果事件处理代码没有写到methods中,而是在行内则不需要this
                就可以访问data对象中的成员
                 */
                doClick:function(){
                    console.log(this);
                    //在这个事件中,如何获取data里面的成员呢?
                    //console.log(this.data.msg);//报错 无法获取
                    console.log(this.msg);// vue会将data与methos中的成员 平铺到vue实例中
                    this.msg = '爱你么么哒';
                },
                doClick1:function(){
                    this.age++;
                }
            },
        })
    </script>
</body>
</html>

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐