首页 > 其他分享 >vue 中 ref的一些常见作用

vue 中 ref的一些常见作用

时间:2022-11-11 16:22:15浏览次数:54  
标签:vue default refs 常见 HelloWorld export 组件 ref

转:https://www.cnblogs.com/agen-su/p/11388621.html

<template>
  <div>
    <!-- vue中的ref功能很强大,介绍一下如何使用的。基本用法:本页面获取dom元素。 -->
    <div id="app">
      <div ref="testDom">111</div>
      <button @click="getTest">获取test节点</button>
    </div>
  </div>
</template>

<script>
export default {
    methods:{
      getTest(){
        console.log(this.$refs.testDom);
      }
    }
}
</script>

<style>

</style>

 

 


ref除了可以获取本页面的dom元素,还可以拿到子组件中的data和去调用子组件中的方法。

通过ref。父组件里面只要设置过ref的组件,都可以通过this.$refs[childeName]拿到子组件。

如果有两个子组件同时都叫 ref="abc"。那么 this.$refs.abc就是数组。如果只有一个,就是直接是那个子组件。



<template>
  <div>
    <!-- ref除了可以获取本页面的dom元素,还可以拿到子组件中的data和去调用子组件中的方法。 -->
    <div id="app">
      <HelloWorld ref="hello"/>
      <button @click="getHello">获取helloworld组件中的值</button>
    </div>
  </div>
</template>

<script>
// 1.导入import组件。 2.声明组件。3.组件标签显示组件。
import { HelloWorld } from "./components/HelloWorld.vue";

export default {
  components:{HelloWorld},
  data(){
    return{}
  },
  methods:{
    getHello(){
      console.log(this.$refs.hello.msg)
    }
  },
}
</script>

<style>

</style>

子组件:

<template>
  <div>
    <!-- 子组件 -->
    {{msg}}
  </div>
</template>

<script>
export default {
  data(){
    return{
      msg:"hello world"
    }
  }
}
</script>

<style>

</style>

 

 

 

 调用子组件中的方法:

子组件:

<template>
<div>
  <!-- 子组件 -->
</div>
</template>

<script>
export default {
  methods:{
    open(){
      // 打印
      console.log("方法调用到了。");
    }
  }
}
</script>

<style></style>

父组件

<template>
  <div id="app">
    <HelloWorld ref="hello"/>
    <button @click="getHello">获取helloworld组件中的值</button>
  </div>
</template>

<script>
//1.导入子组件。2.声明子组件。3.组件标签。
import HelloWorld from "./components/HelloWorld.vue"; export default { components:{HelloWorld}, data(){return{}}, methods:{ getHello(){ this.$refs.hello.open(); }, } } </script> <style> </style>

 

 

 子组件调用父组件的方法

子组件

<template>
<!-- 这是子组件 -->
  <div></div>
</template>

<script>
export default {
  open(){
    console.log("调用了父组件中的方法。");
    // 调用了父组件中的方法  用this.$emit中写父组件的方法。
    this.$emit("refreshData");
  }
}
</script>

<style></style>

父组件

<template>
<!-- 这是父组件 -->
  <div id="app">
    <HelloWorld>
  </div>
</template>

<script>
import { HelloWorld } from "./components/HelloWorld.vue";
export default {
  components:{
    HelloWorld
  },
  data(){
    return{}
  },
  methods:{
    getHello(){
      this.$refs.hello.open()
    },
    getData(){
      console.log('11111');
    }
  }
}
</script>

<style>

</style>

 

标签:vue,default,refs,常见,HelloWorld,export,组件,ref
From: https://www.cnblogs.com/effortandluck/p/16880628.html

相关文章

  • JAVA 六种常见线程池
    在我们日常业务开发中,如果遇到使用线程池的场景时,会先去思考一下这种场景需要使用到怎样的线程池,去避免线程资源滥用。这个时候选择困难症就来了,不过不用担心,Java其实早......
  • Vue2中的 import 和 require区别与使用方法
    import属于ES6规范,require属于CommonJS规范。一、exportdefault&export+import1、exportdefaultfunction()+importoutput.jsexportdefaultfunction(......
  • Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境
    前文已经初始化了workspace-root,从本文开始就需要依次搭建组件库、example、文档、cli。本文内容是搭建组件库的开发环境。1packages目录前面在项目根目录下创建了p......
  • Unity一键制作预制体Prefab一键修改Prefab属性
    1.适用于制作多个预制体(一个模型文件下面几百个子物体,都需要制作成预制体,这一个一个拖不是要炸裂)模型资源如下图 2.模型先放到Resources文件夹下面方便读取,制作......
  • 大型CRM客户管理系统带小程序、H5 java源码(spring boot 后台 前端vue)
    CRM功能介绍1、系统管理:员工管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、日志管理2、系统监控:在线用户、定时任务、数据监控、服务监控3、系统工......
  • vue中组件化编程
    组件化编程什么是组件化编程传统方式的编写模式组件化编程的模式组件是实现应用中局部功能代码和资源的集合vue中非单文件组件的基本使用点击查看代码<!--Vue......
  • Vue3实现动态导入Excel表格数据
    1. 前言在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我们的解决方案:提供一个模板前端进行下载,然后按照这个模板要求进行数据填充,最后上传导入,这是其中一种......
  • 从0搭建vue3组件库: Input组件
    本篇文章将为我们的组件库添加一个新成员:Input组件。其中Input组件要实现的功能有:基础用法禁用状态尺寸大小输入长度可清空密码框带Icon的输入框文本域自适应......
  • Design for failure常见的12种设计思想
    hello,大家好,我是张张,「架构精进之路」公号作者。通常情况下,我们的一个请求会经过三个服务来处理。请求从客户端发出,到达ProxyLayer(执行一些公共的逻辑,如逻辑、流控、审计等......
  • Your startup project 'UnitTestNet6' doesn't reference Microsoft.EntityFrameworkC
    执行这个命令dotnetefdbcontextscaffold"connectionstring"Microsoft.EntityFrameworkCore.SqlServer-o./EntityFrameworkTest/Models-tdbo.Test 报错1Your......