本节视频的几个问题
1、老师建共用的组件,为什么都要先建一个文件夹,下面再放一个index.vue文件,而不是直接新建文件xxx.vue就好了?
2、如下图所示,这里有一个arrList,导入的v-course组件中也有一个arrList,这两个变量放在同个页面中不会冲突吗?
3、这里的这个array什么意思?指定该变量的类型是数组吗?
是不是等同于下面这种写法:
props: {
arrList: {
type: Array,
default: []
}
}
正在回答
同学你好,问题解答如下:
1.不会的。每一个组件都是独立的,组件与组件之间的数据不会互相影响。即使一个组件在另一个组件中调用,父子之间的数据也不会互相影响。这点记一下哦~
2.直接把子组件的代码放在父组件这种思想是不对的。如果直接把代码放在父组件中,那么代码是父组件中的内容,与子组件没有任何关系了。即父组件中使用的arrList是同一个数据,也就是父组件中,data里面定义的arrList。data中定义的数据就相当于一个变量,本身就可以多次使用的,没有影响哦。
3.如果同学还是不太理解,老师拿函数做一个比喻,如下:
两个函数都定义了相同的变量a,那么即使Child是在Par中调用的,两个变量a也不会互相影响。
所以每一个函数中,输出函数各自定义的a:
但如果你把Child中使用变量a的代码放在了Par中,那么这段代码就和Child没有任何关系了,如下:
而变量本身就可以多次使用的,不管你输出多少次a,都不会有冲突啊,因为只是对上面变量a的使用,使用多少次都没有关系:
再理解一下哦。
祝学习愉快~
同学你好,问题解答如下:
1.不创建文件夹也可以,换句话说,你可以把整个项目的组件都放在一起。但从实际开发的情况看,一个项目包含的组件非常多,如果都放在一起,肯定不方便我们查找和管理。这个时候我们就可以根据不同的组件分类,创建对应的文件夹。共用的组件也是一样的,可能一个项目中会包含很多共用的组件,那么创建一个文件夹单独管理这些组件肯定是好的。
当然了,老师这样去创建,并不是说工作中就必须这样去做。创建文件夹并没有什么硬性的要求和规定,每一个人的开发习惯也是不一样的。但是总的来说,随着我们开发经验的积累,慢慢就会发现,一个项目中文件夹分类分的越细,越能帮助我们管理这些文件。同学自己在学习时,建议跟着老师去做,学习一下老师的开发习惯。等以后你的技术提升了,也可以慢慢形成自己的一套开发标准和习惯哦。
2.不会的,如下中,第一个arrList是data中定义的数据,第二个arrList,是绑定的一个属性。它们两个不会有冲突的。
除非你在data中又定义了一个同名的arrList,才会与第一个arrList有冲突哦。
3.理解的不对,arrList:Array只是规定了arrList的类型是数组,并没有规定默认值。如果父组件没有传值,arrList:Array,就会默认赋值为undefined。如果添加了default: [],父组件没有传值,就会为arrList设置默认值为空数组了。所以arrList:Array只是设置了type: Array哦。
祝学习愉快~
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星