Vue中组件相关知识点

本文深入解析Vue.js中的组件概念,包括组件的定义、创建方式(全局组件与局部组件)、以及父子组件间的传值机制,帮助读者理解并掌握Vue组件的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、组件知识点
1.定义
何为组件,简单来说,组件就是一组HTML标签的集合,有点类似于模块,不过模块是基于不同的业务逻辑来划分的,而组件则是基于页面不同区域来划分的。组件中允许有多个标签,但只允许一个根标签。组件的产生同样也增强了代码的复用性。
2.创建方式
创建组件实例可以有多种方式,这里主要讲解其中的两种方式,同时也对应两类组件。第一类是全局组件,全局组件可以为所有的Vue实例调用,但条件是组件必须在实例前面,其创建方式如下:

<script>
     var tem = {
          data() {
              return {
              
              }
          },
          template: '<h1>124234</h1>',
          methods: {
          
          },
          . . . {
          
          }
     }
     Vue.component('mytem', tem)
</script>

其中tem为组件模板,需要通过component来注册为组件然后才可以使用。其实一个组件也相当于一个Vue实例,组件中也可以初始数据data、方法methods等,需要注意的是初始data时,需要使用return返回。另一类是局部组件,局部组件只能由特定实例来调用,其由Vue实例中components来创建,创建方式如下:

<script>
      var tem = {
            data() {
                 return {
                      
                 },
                 methods: {
                 
                 },
                 . . . {
                 
                 }
            }
      }
     var vm = new Vue({
            el: ' ', 
            data: {
                 
            },
            methods: {
            
            },
            components: {
                 'mytem': tem
            },
            
     });
 </script>

局部组件模板既可以在实例外部也可以在实例内部创建,而注册组件则须在实例内部进行。因此,全局组件和局部组件不同点在于组件注册方式的不同。
3.父子组件传值
在一个组件中如果存在另一个组件,则形成了组件之间的父子关系。当两者需要数据交互时,其访问方式存在不同。默认情况下,子组件是无法访问到父组件中的data和methods,当子组件需要访问父组件data时,可以通过v-bind指令进行属性绑定,子组件访问到的数据存储在props中,props类似于data,但它是只可读的,而且其中所有的数据都是来源于父组件,而子组件的data是可读可写的,是子组件私有的。当父组件需要访问子组件数据时,可以通过this.$emit(‘方法名’, 子组件数据)方式,子组件调用父组件方法,同时把数据传递给父组件,方法名为子组件内部自定义,通过v-on指令绑定父组件函数实现调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值