关于VueComponent:
1. school组件本质是一个名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的
2.我们只需要写<school/>或<school></school>,Vue解析时会帮我们创建school组件的实例对象,
即帮我们执行了:new VueComponent(options)
3. 特别注意:每次调用Vue.extend,返回的都是一个全新的VueComponent!!!
4.关于this指向:
1. 组件配置中:
data函数。method中的函数,watch中的函数,computed中的函数。他们的this均是【vueComponent实例对象】
2. new Vue(options)配置中:
data函数。method中的函数,watch中的函数,computed中的函数。他们的this均是【vue实例对象】
5.VueComponent的实例对象,以后简称vc (也可称之为:组件实例对象)
Vue的实例对象,以后简称vm
<body>
<div id="root">
<school></school>
</div>
<script>
Vue.config.productionTip = false;
const school = Vue.extend({
template: `
<div>
<h1>学校名称:{{name}}</h1>
<h1>学校地址:{{address}}</h1>
<button @click="show">点我显示this</button>
</div>
`,
data() {
return {
name: "lin",
address: "江西"
}
},
methods: {
show(){
console.log(this); //VueComponent
}
},
});
console.log(
school)
const vm = new Vue({
el: "#root",
components: {
school
}
})
</script>
</body>