Vue组件里的data(),methods和加载渲染它的Vue对象是不同的(它们里面的this也指向不同对象,一个是Vue对象,一个是组件对象),可以理解为Vue会为每个组件创建一个类,然后每次使用组件如<custom-aa></custom-aa>都是会创建一个类对象,而vue能够对特殊的属性名进行处理,如data和methods等,它会将data方法里返回的对象对每个组件实例都进行调用,并和组件实例进行关联,所以不同组件实例的data是隔离的,而如果data是属性而非方法的话,每个组件实例都共享一个data对应的JSON对象;
注意,vue只对特殊名字的属性会进行处理(如绑定的属性,事件监听的方法,因此老老实实写在data和methods里,写到外部vue不会将它作为指令关联的属性或方法)
还有一个就是Vue组件的结构,网上的一般是aaa.vue,然后里面写HTML和js和css/sass等,这里最好是components建立一个分类目录如application,然后在其下建立aaa目录
,然后aaa目录里建立aaa.vue,aaa.css,aaa.js,在aaa.vue里引用这些js和css,从而达到分离效果(命令小写开头,如果是多个单词以-分割,如summer-home.vue),并且import组件时以大驼峰命名组件,如import SummerHome from './components/application/summer-home/summer-home.vue';