首页 > 其他分享 >组件传值

组件传值

时间:2023-08-22 11:14:21浏览次数:47  
标签:default son export props 组件 传值

  • 父组件向子组件传值
  • props只能是父组件向子组件进行传值,props使得父子组件之间形成了一个单向下行绑定。子组件的数据会随着父组件不断更新。
  • props 可以显示定义一个或一个以上的数据,对于接收的数据,可以是各种数据类型,同样也可以传递一个函数。
  • props属性名规则:若在props中使用驼峰形式,模板中需要使用短横线的形式
// 父组件
<template>
    <div id="father">
        <son :msg="msgData" :fn="myFunction"></son>
    </div>
</template>

<script>
import son from "./son.vue";
export default {
    name: father,
    data() {
        msgData: "父组件数据";
    },
    methods: {
        myFunction() {
            console.log("vue");
        }
    },
    components: {
        son
    }
};
</script>
// 子组件
<template>
    <div id="son">
        <p>{{msg}}</p>
        <button @click="fn">按钮</button>
    </div>
</template>
<script>
export default {
    name: "son",
    props: ["msg", "fn"]
};
</script>
子组件向父组件传值
  • $emit绑定一个自定义事件,当这个事件被执行的时就会将参数传递给父组件,而父组件通过v-on监听并接收参数。
// 父组件
<template>
  <div class="section">
    <com-article :articles="articleList" @onEmitIndex="onEmitIndex"></com-article>
    <p>{{currentIndex}}</p>
  </div>
</template>

<script>
import comArticle from './test/article.vue'
export default {
  name: 'comArticle',
  components: { comArticle },
  data() {
    return {
      currentIndex: -1,
      articleList: ['红楼梦', '西游记', '三国演义']
    }
  },
  methods: {
    onEmitIndex(idx) {
      this.currentIndex = idx
    }
  }
}
</script>
//子组件
<template>
  <div>
    <div v-for="(item, index) in articles" :key="index" @click="emitIndex(index)">{{item}}</div>
  </div>
</template>

<script>
export default {
  props: ['articles'],
  methods: {
    emitIndex(index) {
      this.$emit('onEmitIndex', index) // 触发父组件的方法,并传递参数index
    }
  }
}
</script>

 

标签:default,son,export,props,组件,传值
From: https://www.cnblogs.com/huwenlong/p/17648004.html

相关文章

  • 界面组件DevExpress Reporting——增强的SQL和实体框架数据源引入
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。本文总结了v23.1中针对DevExpress报表和BIDashboard产品中使用的SQL和实体框架数据源引......
  • 阿里相关组件-阿里Cola状态机相关
    使用State:状态Event:事件,状态由事件触发,引起变化Transition:流转,表示从一个状态到另一个状态ExternalTransition:外部流转,两个不同状态之间的流转InternalTransition:内部流转,同一个状态之间的流转Condition:条件,表示是否允许到达某个状态Action:动作,到达某个状态之后,可以做什......
  • Spring Cloud微服务网关Gateway组件
    网关简介大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用。  这样的架构,会存在着诸多的问题:每个业务都会需要鉴权、限流、权限校验、跨域等逻......
  • keep-alive组件的作用与原理
    什么是keep-alive“keep-alive”是Vue.js中的一个特殊组件,用于缓存组件的状态,以提高应用性能。在Vue.js中,组件通常是动态创建和销毁的,当切换到另一个页面或组件时,之前的组件会被销毁,再次进入时会重新创建和初始化。这样可能导致组件的状态丢失,需要重新初始化,增加了资源的消耗......
  • OpenTiny Vue 3.10.0 版本发布:组件 Demo 支持 Composition 写法,新增4个新组件
    我们非常高兴地宣布,2023年8月14日,OpenTinyVue发布了v3.10.0 ......
  • Vue的组件data为什么必须是一个函数?
    vue中的data必须是函数是为了保证组件的独立性和可复用性。实例是通过构造函数来创建的,每个构造函数可以new多个实例,每个实例都会继承原型上的方法和属性,在vue中,一个vue组件就是一个vue实例,当一个组件被复用多次,就会创建多个实例。如果data是对象,那么被多次复用的这个组件,在某......
  • 技术组件-nginx-docker安装
    安装搜索版本dockersearchnginx下载镜像dockerpullnginx:1.22创建目录mkdir-p/data/docker/data/nginx/confmkdir-p/data/docker/data/nginx/logmkdir-p/data/docker/data/nginx/htmlmkdir-p/data/docker/data/nginx/cer创建临时nginxdockerru......
  • \\NSHA10320UAP.ubsglobal-prod.msad.ubs.net\data\部署包\组件全量0818\组件
    com.yss.ams.bbzx-202308031009-V2.0.0.10.39-20221115.jarcom.yss.ams.reportConfigSetting-20230714135143.jarcom.yss.ams.ReportViewer-202308031009-V2.0.0.10.39-20221115.jarcom.yss.ams.website-202308031009-V2.0.0.10.39-20221115.jarcom.yss.sofa.foundation.a......
  • 树状选择组件
    1、创建组件<template><!--遮罩层--><divclass="mask"v-if="show"><!--picker--><divclass="content":style="'height:'+height"><divclass="header&qu......
  • AWS的组件及组合
    kafka或kinesis做数据收集S3+redshift做数仓EMR做计算RDS做数据市场AWSGlue/AWSDataPipeline做数据集成这些组件配合起来,几乎可以做各种方式的数据分析kinesis还是比较推荐,延迟时间可以配置的算是实时的,而且功能会多一点,聚合、过滤什么的都可以......