关于Vue的一些疑惑解答

1.组件的全局注册格式

在学习父子组件间通信的时候,我发现碰到了如下两种写法:

 // 写法一: 组件的全局注册的语法糖写法
 const cpn2 = Vue.component('cpn2', {
        template: '#cpn2'
    })

 // 写法二:那这个呢?
const cpn3 = {
        template: '#cpn3'
    }

回答:

 // 疑问1: 写法二也是组件的全局注册吗?
    // 回答:不是,写法二只是在创建一个对象,组件的全局注册只有使用.component()方法,组件的局部注册得写在Vue实例化或者其他组件的components属性里
    // 写法一:全局注册的语法糖
    const cpn2 = Vue.component('cpn2', {
        template: '#cpn2'
    })

    // 写法二: 此处是对象字面量,它是指以{}形式直接表示的对象
    // 如果它未在Vue实例化中的components属性中添加,那么无法使用
    const cpn3 = {
        template: '#cpn3'
    }
2.Vue实例中的data类型和组件中的data类型

学习父子组件间通信的时候,我发现碰到了关于data的如下两种写法:

// 写法一:什么时候使用到它?
data() {
  return {
      categories: [
          {id: 'a', name: '热门推荐'},
          {id: 'b', name: '手机数码'},
          {id: 'c', name: '家用家电'},
          {id: 'd', name: '电脑办公'}
      ]
  }
}

// 写法二:什么时候使用到这种格式?
 data: {
   name: 'Hello Ketty'
}

// 写法三: 什么时候使用到这种格式?
data: {
    return() {
 	}
 },

回答:

// 疑问2: 下面有2个data,但是第一个data后面有();第二个data后面没有()
 // 它们的区别是什么
 // 回答:data后面有()表示函数(即Function),data后面没有()表示对象(即Object)。Vue实例化的时候data可以使用函数和对象,但是组件里的data只能使用函数。
 // 写法一:
  data() {
            // 组件(component)里的定义的data必须是Function类型的
            return {
                categories: [
                    {id: 'a', name: '热门推荐'},
                    {id: 'b', name: '手机数码'},
                    {id: 'c', name: '家用家电'},
                    {id: 'd', name: '电脑办公'}
                ]
            }
        }
        
// 写法二:
data: {
    // 实例化的Vue中的data可以是Object或者Function
}

// 写法三:
data: {
    return() {
 	}
 }

更多详情: vue中data和data()的区别说明

3.ES6的字面量方法语法糖
 // ES6的对象字面量方法简写允许我们省略对象方法的function关键字及之后的冒号
  // data: function() {
data() {
 return {
  }
}

更多详情: 重新认识ES6中的语法糖

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值