如果用以下的方式写,html和js混合在一起,不整洁
提供了两种分离式写法:
-<script type="text/x-template" id="cpn">
-<template id="cpn">
这两种写法的注册形式:
全局
局部
分离式写法的数据存放:
在注册的时候,以前通过Vue.extend({options}),核心用到的还是options参数对象,现在可以直接吧options取出来,单独定义,包含该组件的以下属性:
- template
- props
- data
- methods
- watch等
在Vue根实例中的components中引用
组件的data属性为什么是函数?
因为一个组件需要多处引用,如果data属性是普通对象,那么一处修改该data属性,其他组件也会被修改。。。组件是可复用的,如果data是对象,那么多个子组件修改data中数据那么所有的组件中数据都会被影响,因为组件实例化返回的是组件对象,对象中的data属性如果是对象,那么互相影响,方法则不会