文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue中ref怎么用

2024-04-02 19:55

关注

vue中ref怎么用

vue中ref的用法有三种,分别是:1.ref加在普通的元素上,用this.ref.name获取dom元素;2.ref加在子组件上,用this.ref.name 获取组件实例,可以使用组件的所有方法;3.利用v-for和ref获取一组数组或者dom节点。

示例:

ref使用在外面的组件上。

<div id="ref-outside-component" v-on:click="consoleRef">

    <component-father ref="outsideComponentRef">

    </component-father>

    <p>ref在外面的组件上</p>

</div>

    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作用在外面元素上。

//ref在外面的元素上

<div id="ref-outside-dom" v-on:click="consoleRef" >

   <component-father>

   </component-father>

   <p ref="outsideDomRef">ref在外面的元素上</p>

</div>

    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>标签dom元素 ref在外面的元素上</p>

            }

        }

    });

ref使用在里面的元素上,局部注册组件。

//ref在里面的元素上

<div id="ref-inside-dom">

    <component-father>

    </component-father>

    <p>ref在里面的元素上</p>

</div>

    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使用在里面的元素上,全局注册组件。

//ref在里面的元素上--全局注册

<div id="ref-inside-dom-all">

    <ref-inside-dom-quanjv></ref-inside-dom-quanjv>

</div>

    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"

    });

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯