vue 组件简单实例及传参交互

news2024/11/25 20:42:33

前言:vue 可以比较灵活的使用 html的片段,并将html的片段进行数据隔离,参数也可以互相传递,组件与组件之间也可以进行数据的交互 合理的使用组件可以避免重复代码或者很方便的调用第三方组件库

vue组件

      • 简单实例
      • 组件传参实际应用
      • 父子组件交互和依赖

简单实例

注册一个组件

<template id="app1">
    <div>这个是组件的内容</div>
</template>

<script>
import Vue from "vue";
const comp = Vue.extend({
  template: '#app1',             //  id选择器绑定template的内容
});
Vue.component("comp", comp);
</script>

<style scoped>

</style>

导入组件

<template>
<app1/>
</template>

<script>
import app1 from "./index"
export default {
  name: "test1",
  components:{
    app1
  }
}
</script>

<style scoped>

</style>

在这里插入图片描述

组件传参实际应用

父传子固定参数传参

使用上主要使用props 属性接收参数,:param 方式传参

test1.vue

<template>
  <div>
    <Comp :num="num1"></Comp>
    <input v-model="num1" type="text"></input>

  </div>

</template>

<script>
import Comp from './Comp'
export default{
  components:{Comp}, // 引用组件
  data(){
    return{
      msg:"1111",
      num1:12311
    }
  }
}
</script>

<style scoped>
</style>

组件

Comp.vue

<template>
  <div>
    <p v-show="count>10&&count<100">这个是数字大于10</p>
    <p v-show="count>100&&count<1000">这个是数字大于100</p>
    <p v-show="count>1000">这个是数字大于1000</p>
  </div>
</template>
<script>
export default{
  name:"Comp",
  props:{
    num:{
      type: Number,
      default:1
    }

    },
  data(){
    return{
      count:this.num
    }
},
  watch:{
    count:{
      handler (oldParam,newParam){
        console.log(newParam);
      }
    }
  },
  methods:{
    test(){
      console.log(this.count)
    },
    created(){
      console.log("创建方法开始了");


    }

  }
}
</script>

<style scoped>
</style>

在这里插入图片描述

父子组件交互和依赖

Son.vue

<template>
  <div>我是Son组件
    <p>{{str1}}</p>
  </div>

</template>
<script>
export default {
  name: "Son",
  props:{//props列表
    arr:Array,//定义参数类型
    num:Number,
    str:String,
    str2:{
      type:String,
      default:"我是默认字符串"//定义参数默认值
    },
    func:{
      type:Function,
      required:false//定义参数是否必须值
    },
    obj:{
      type: Object,
      required:false
    }
  },
data(){
  return {
    str1:this.str
  }
},
  created() {
    console.log(this.str);//我是字符串
    console.log(this.str2);//我是默认字符串
    console.log(this.num);//5
    console.log(this.func);//hello(){console.log("hello world!");}
    console.log(this.arr);//[1,2,3]
    console.log(this.obj);//{cont:'我是一个对象'}
    this.func();//hello world!


  }
}
</script>

Father.vue

<template>
  <div class="wrap">
    <div>我是Father组件</div>
    <Son
      str="我是字符串"
      :num=5
      :obj="{cont:'我是一个对象'}"
      :func="()=>{this.hello()}"
      :arr="arr"></Son>
  </div>
</template>
<script>
import Son from './Son'
export default {
  name: "Father",
  components:{  Son  },
  data(){
    return{
      arr:[1,2,3]
    }
  },
  methods:{
    hello(){
      console.log("hello world!")
    }
  },

}
</script>

参考:
https://blog.csdn.net/qq_44375977/article/details/104884834

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot2+Vue2实战(四)进行组件内容拆分及路由实现

一、拆分 新建包&#xff1a; Aside和Header都是组件 User为视图 Aside.vue&#xff1a; <template><el-menu :default-openeds"[1, 3]" style"min-height: 100%; overflow-x: hidden"background-color"rgb(48, 65, 86)"text-color…

I2C总线协议详解

I2C总线物理拓扑结构 I2C总线物理拓扑图 I2C 总线在物理连接上非常简单&#xff0c;分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制&#xff0c;来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时&#…

linux下使用pyqt5的QMediaPlayer制作简易播放器(存在进度条、前进、后退、暂停、打开、播放等操作)

目录 1. 问题2. 解决3. 效果 1. 问题 关于pyqt5的qmediaplayer模块制作简易播放器&#xff0c;网上很多博客都是win下的&#xff0c;放在linux系统会出问题&#xff1b;另外&#xff0c;部分博客缺少文件&#xff0c;无法直接使用。 参考博客《基于pyqt5的QMediaPlayer实现视…

android studio git使用

pull代码 我们从远程仓库拉取代码时&#xff0c;一般有下面的两个选项 当使用Android Studio拉取代码时&#xff0c;有两种常见的选项&#xff1a;合并&#xff08;merge&#xff09;传入的更改到当前分支和变基&#xff08;rebase&#xff09;。 合并&#xff08;Merge&…

【Django学习】(九)自定义校验器_单字段_多字段校验_模型序列化器类

之前学习了视图集里运用序列化器进行序列化和反序列化操作&#xff0c;定义序列化器类&#xff0c;需要继承Serializer基类或者Serializer的子类&#xff1b; 这次我们将学习如何自定义校验器、如何进行单字段或者多字段校验&#xff0c;最后初步使用模型序列化器 一、自定义…

OPPO手机无网络可支持3km通信,对讲机将被淘汰?

OPPO在2019世界移动通信大会即MWC上海发布了一项新技术&#xff0c;被称为“无网络通信技术”&#xff08;MeshTalk&#xff09;。这是OPPO自主研发的一项去中心化通讯技术&#xff0c;能够在没有蜂窝网络、Wi-Fi、蓝牙的情况下&#xff0c;实现3km内通讯。 无网通信技术 不过…

Java教程-Java异常抛出

在Java中&#xff0c;异常允许我们编写高质量的代码&#xff0c;可以在编译时检查错误而不是在运行时&#xff0c;并且我们可以创建自定义异常&#xff0c;使代码的恢复和调试更加容易。 Java的throw关键字 Java的throw关键字用于显式地抛出异常。 我们指定要抛出的异常对象。异…

华为breeze ideploy部署流程示例

https://www.cnblogs.com/withfeel/p/11640877.html 华为breeze ideploy部署流程示例

Canal对MySQL进行数据迁移

Canal简单介绍 贴个官方网址&#xff1a;阿里巴巴MySQL binlog 增量订阅&消费组件 架构图&#xff1a; 基于日志增量订阅和消费的业务包括 数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理 当前的 cana…

CSS知识点汇总(十一)--回流重绘

文章目录 怎么理解回流跟重绘&#xff1f;什么场景下会触发&#xff1f;1、回流和重绘是什么&#xff1f;2、如何触发回流和重绘3、如何避免回流和重绘的发生 怎么理解回流跟重绘&#xff1f;什么场景下会触发&#xff1f; 1、回流和重绘是什么&#xff1f; 在HTML中&#xf…

二十、socket套接字编程(二)——TCP

文章目录 一、TCP套接字接口&#xff08;一&#xff09;inet_aton &#xff08;和inet_addr一样&#xff0c;换一种方式而已&#xff09;&#xff08;二&#xff09;socket()&#xff08;三&#xff09;bind()&#xff08;四&#xff09;listen()&#xff08;五&#xff09;acc…

ASP.NET Core MVC -- 入门

先决条件&#xff08;开发配置二选一&#xff09;&#xff1a; 带有 ASP.NET 和 Web 开发工作负载的Visual Studio Visual Studio Code Visual Studio Code用于 Visual Studio Code 的 C#&#xff08;最新版本&#xff09;.NET 7.0 SDK 创建Web应用 visual studio ctrl F5 …

云原生之深入解析Kubernetes网络流量的流转路径

一、Kubernetes 网络要求 Kubernetes 网络模型定义了一组基本规则&#xff1a; 在不使用网络地址转换 (NAT) 的情况下&#xff0c;集群中的 Pod 能够与任意其他 Pod 进行通信&#xff1b; 在不使用网络地址转换 (NAT) 的情况下&#xff0c;在集群节点上运行的程序能与同一节点…

王道《计算机网络》思维导图汇总

第一章 1.1.1 概念与功能 1.1.2 组成与分类 1.1.3 标准化工作及相关组织 1.1.4 性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时延RTT 利用率 1.2.1 分层结构、协议、接口、服务 1.2.2 OSI参考模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 1.2.4 TCP/IP 参…

内核角度看IO模型

聊聊Netty那些事儿之从内核角度看IO模型 网络包接收流程 当网络数据帧通过网络传输到达网卡时&#xff0c;网卡会将网络数据帧通过DMA的方式放到环形缓冲区RingBuffer中。RingBuffer是网卡在启动的时候分配和初始化的环形缓冲队列。当RingBuffer满的时候&#xff0c;新来的数据…

【AUTOSAR】BMS开发实际项目讲解(十三)----电池管理系统碰撞安全功能和SFR

SG-BMS-7 : BMS系统应避免碰撞保护功能异常引起的安全事故&#xff08;ASIL A&#xff09; 功能框图&#xff08;SG-BMS-7&#xff09; 功能组件说明 功能组件ID 功能组件名称 描述 ASIL等级 FSC-FC-05 Relay Drive 驱动继电器开启和关断 ASIL A FSC-FC-11 Detection …

【vue】可选链运算符(?.)和空值合并运算符(??):

文章目录 一、问题一:二、问题二:三、使用:【1】空值合并运算符&#xff08;??&#xff09;【2】可选链运算符&#xff08;?.&#xff09; 一、问题一: http://www.codebaoku.com/question/question-sd-1010000042870944.html //1、npm安装 npm install babel/plugin-propo…

批量修改文件命名的shell脚本

Android 制作开机动画的方法参考&#xff1a;linux开机动画制作教程 其中往往会把里面的png图片命名位XX_0001.png , 002.png……等 Window批量修改文件名时会带有空格和括号。 这里写了一个脚本&#xff0c;可以在批量修改文件名后&#xff0c;将文件名转换为XX_00001 格式&…

基于matlab使用 YOLO V2深度学习进行多类对象检测(附源码)

一、前言 此示例演示如何训练多类对象检测器。 深度学习是一种强大的机器学习技术&#xff0c;可用于训练强大的多类对象检测器&#xff0c;例如 YOLO v2、YOLO v4、SSD 和 Faster R-CNN。此示例使用该函数训练 YOLO v2 多类室内对象检测器。经过训练的物体检测器能够检测和识…

ModaHub魔搭社区:Milvus 监控指标和使用 Grafana 展示 Milvus 监控指标

目录 Milvus 监控指标 Milvus 性能指标 系统运行指标 硬件存储指标 Milvus 监控指标 Milvus 会生成关于系统运行状态的详细时序 metrics。你可以通过 Prometheus、Grafana 或任何可视化工具展现以下指标&#xff1a; Milvus 性能指标系统运行指标&#xff1a;CPU/GPU 使用…