请问这种数组类型的prop,是不是default都要写成函数形式呢?
就是用sliders传进来的data,在props中定义的时候default要写成data(){return []} 是不是以后凡是数组 对象类型的都要这么写呢?非常感谢!
1
收起
正在回答
2回答
vue中,在父组件通过props传数组或对象类型值给子组件的时候,数组或对象的默认值应当由一个工厂函数返回,所以default是用函数表示。
例如数组我们要写成
proE: { type: Array, default(){ return [] } }
对象我们要写成:
propE: { type: Object, default(){ return {} } }
希望可以帮到你!
卡布琦诺
2018-12-16 10:42:47
关于同学的问题,首先我们需要了解的是在vue中,data有三种写法:
第一种写法:
<script type="text/javascript"> var app=new Vue({ el:'#app', data:{ …… } }) </script>
第二种写法:
<script type="text/javascript"> var app=new Vue({ el:'#app', data: function(){ return { …… } } }) </script>
第三种写法:
<script type="text/javascript"> var app=new Vue({ el:'#app', data() { return { …… } } }) </script>
这里的第三种是第二种的ES6写法
区别:
1、在简单的Vue实例中,没什么区别,因为app对象不会被复用
var app = new Vue({...})
2、在组件中,因为可能在多处调用同一组件,所以为了不让多处的组件共享同一data对象,只能返回函数,因此就需要使用如下方式:
export default{ data(){ return { ... } } }
因此,这里不是因为是数组才这么写的,而是为了避免不让多处的组件共享同一data对象,只能返回函数。
希望可以帮到你!
热门框架Vue开发WebApp 18版
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星