浅谈Vue.js中ref ($refs)用法举例总结


Posted in Javascript onDecember 19, 2017

本文介绍了Vue.js中ref ($refs)用法举例总结,分享给大家,具体如下:

看Vue.js文档中的ref部分,自己总结了下ref的使用方法以便后面查阅。

一、ref使用在外面的组件上

HTML 部分

<div id="ref-outside-component" v-on:click="consoleRef">
  <component-father ref="outsideComponentRef">
  </component-father>
  <p>ref在外面的组件上</p>
</div>

js部分

var refoutsidecomponentTem={
    template:"<div class='childComp'><h5>我是子组件</h5></div>"
  };
  var refoutsidecomponent=new Vue({
    el:"#ref-outside-component",
    components:{
      "component-father":refoutsidecomponentTem
    },
    methods:{
      consoleRef:function () {
        console.log(this); // #ref-outside-component   vue实例
        console.log(this.$refs.outsideComponentRef); // div.childComp vue实例
      }
    }
  });

二、ref使用在外面的元素上

HTML部分

<!--ref在外面的元素上-->
<div id="ref-outside-dom" v-on:click="consoleRef" >
  <component-father>
  </component-father>
  <p ref="outsideDomRef">ref在外面的元素上</p>
</div>

JS部分

var refoutsidedomTem={
    template:"<div class='childComp'><h5>我是子组件</h5></div>"
  };
  var refoutsidedom=new Vue({
    el:"#ref-outside-dom",
    components:{
      "component-father":refoutsidedomTem
    },
    methods:{
      consoleRef:function () {
        console.log(this); // #ref-outside-dom  vue实例
        console.log(this.$refs.outsideDomRef); //  <p> ref在外面的元素上</p>
      }
    }
  });

三、ref使用在里面的元素上---局部注册组件

HTML部分

<!--ref在里面的元素上-->
<div id="ref-inside-dom">
  <component-father>
  </component-father>
  <p>ref在里面的元素上</p>
</div>

JS部分

var refinsidedomTem={
    template:"<div class='childComp' v-on:click='consoleRef'>" +
            "<h5 ref='insideDomRef'>我是子组件</h5>" +
         "</div>",
    methods:{
      consoleRef:function () {
        console.log(this); // div.childComp  vue实例 
        console.log(this.$refs.insideDomRef); // <h5 >我是子组件</h5>
      }
    }
  };
  var refinsidedom=new Vue({
    el:"#ref-inside-dom",
    components:{
      "component-father":refinsidedomTem
    }
  });

四、ref使用在里面的元素上---全局注册组件

HTML部分

<!--ref在里面的元素上--全局注册-->
<div id="ref-inside-dom-all">
  <ref-inside-dom-quanjv></ref-inside-dom-quanjv>
</div>

JS部分

Vue.component("ref-inside-dom-quanjv",{
    template:"<div class='insideFather'> " +
          "<input type='text' ref='insideDomRefAll' v-on:input='showinsideDomRef'>" +
          " <p>ref在里面的元素上--全局注册 </p> " +
         "</div>",
    methods:{
      showinsideDomRef:function () {
        console.log(this); //这里的this其实还是div.insideFather
        console.log(this.$refs.insideDomRefAll); // <input type="text">
      }
    }
  });

  var refinsidedomall=new Vue({
    el:"#ref-inside-dom-all"
  });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
Jul 26 Javascript
JQuery之拖拽插件实现代码
Apr 14 Javascript
jquery中post方法用法实例
Oct 21 Javascript
js精准的倒计时函数分享
Jun 29 Javascript
JavaScript数组去重的6个方法
Jan 21 Javascript
微信小程序实战之自定义模态弹窗(8)
Apr 18 Javascript
zTree树形插件异步加载方法详解
Jun 14 Javascript
JS canvas绘制五子棋的棋盘
May 28 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 #Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 #jQuery
基于node.js实现微信支付退款功能
Dec 19 #Javascript
React Native之prop-types进行属性确认详解
Dec 19 #Javascript
响应式框架Bootstrap栅格系统的实例
Dec 19 #Javascript
vue.js element-ui validate中代码不执行问题解决方法
Dec 18 #Javascript
AngularJs点击状态值改变背景色的实例
Dec 18 #Javascript
You might like
php date与gmdate的获取日期的区别
2010/02/08 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
Python 闭包的使用方法
2017/09/07 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
django 简单实现登录验证给你
2019/11/06 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
烹饪自我鉴定
2014/03/01 职场文书
九寨沟导游词
2015/02/02 职场文书
单位推荐信范文
2015/03/27 职场文书
2015年药房工作总结
2015/04/25 职场文书
关于倡议书的范文
2015/04/29 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
学历证明样本
2015/06/16 职场文书
党员反邪教心得体会
2016/01/15 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫