请问这种数组类型的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 星