非单文件组件
一、Vue中使用组件的三大步聚:
1.定义组件(创建组件)
2.注册组件
3.使用组件(写组件标签)
二、如何定义一个组件?
使用Vue.extend(options)
创建,其中options
和new Vue(options)
时传入的那个options几乎一样,
区别如下:
1.e1不要写,为什么? 最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器 2.data必须写成函数
data(){return{}}`,为什么? 避免组件被复用时,数据存在引用关系。
备注:使用template可以配置组件结构。
三、如何注册组件?
1.局部注册: 靠new Vue的时候传入`components`选项
2.全局注册: 靠`Vue.component`("组件名 ,组件)
四、编写组件标签
<school></school>
<div id="root">
<h1>{
{msg}}</h1>
<hr>
<!-- 编写组件标签 -->
<school></school>
<hr>
<student></student>
<hr>
<hello></hello>
<hr>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止Vue在启动时生成生产提示
// 创建school组件
const school = Vue.extend(