Vue和VueComponent

文章详细解释了VueComponent的构造过程,如何通过Vue.extend自动生成组件,以及组件实例对象(vc)与Vue实例对象(vm)中this的指向区别。通过代码示例展示了在不同上下文中`this`的含义。
摘要由CSDN通过智能技术生成

关于VueComponent:

1.一个组将名叫school,组件本质是一个名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的。
2.我们只需要写,vue解析时会帮我们创建school组件的实例对象,即Vue会帮我们执行:new VueComponent(options)
3.VueComponent的实例对象,简称vc也可称之为组件实例对象
4.Vue的实例对象简称vm

this指向:

组件配置中:data函数、methods中的函数、watch中的函数、computed中的函数 它们的this均是[VueComponent实例对象]
new Vue(options)配置中:data函数、methods中的函数、watch中的函数、computed中的函数 它们的this均是[Vue实例对象]。

 <div class="app">
        <button @click="vm">点我vm看控制台</button>
        <!-- 使用组件 -->
        <school></school>
    </div>
    <script>
        // 定义一个组件
        const school = {
            template:`
            <div>
                <button @click="vc">点我vc看控制台</button>
                <button @click="schoolInfo">点我提示学校信息</button> 
            </div>
            `,
            data() {
                return {
                    name:'B站'
                }
            },
            methods: {
                schoolInfo(){
                    alert(this.name)
                },
                vc(){
                    console.log("组件中",this);
                }
            },
        }
        new Vue({
            el:'.app',
            components:{
                // 注册组件
                school
            },
            methods:{
                vm(){
                    console.log("vue中",this);
                }
            }
        })
    </script>

效果图

在这里插入图片描述点击vm按钮
在这里插入图片描述点vc按钮
在这里插入图片描述点击提示学校信息按钮
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值