浅谈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 相关文章推荐
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 Javascript
在小程序中使用canvas的方法示例
Sep 17 Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
javascript网页随机点名实现过程解析
Oct 15 Javascript
微信小程序实现上拉加载功能
Nov 20 Javascript
VueJS实现用户管理系统
May 29 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求正负数数组中连续元素最大值示例
2014/04/11 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的各种装饰器详解
2015/04/11 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
物业招聘计划书
2014/01/10 职场文书
八年级美术教学反思
2014/02/02 职场文书
婚礼司仪主持词
2014/03/14 职场文书
服装采购员岗位职责
2014/03/15 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
临时租车协议范本
2014/09/23 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
营业员岗位职责
2015/02/11 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android
Redis入门基础常用操作命令整理
2022/06/01 Redis