91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

vue中ref怎么用

vue
清風
3455
2021-03-15 10:23:03
欄目: 編程語言

vue中ref怎么用

vue中ref的用法有三種,分別是:1.ref加在普通的元素上,用this.ref.name獲取dom元素;2.ref加在子組件上,用this.ref.name 獲取組件實例,可以使用組件的所有方法;3.利用v-for和ref獲取一組數組或者dom節點。

示例:

1.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實例,組件實例

            }

        }

    });

2.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>

            }

        }

    });

3.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

        }

    });

4.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"

    });


0
太保市| 镇沅| 阿坝县| 黑河市| 新野县| 崇州市| 洱源县| 沙洋县| 龙泉市| 泾源县| 新乡县| 鹿泉市| 乐业县| 江阴市| 巧家县| 德安县| 大姚县| 岢岚县| 砀山县| 柞水县| 孟州市| 仁寿县| 镇宁| 永吉县| 尉氏县| 唐河县| 丽江市| 昂仁县| 太白县| 习水县| 鹤峰县| 新乡市| 本溪市| 白山市| 曲麻莱县| 老河口市| 勃利县| 绥阳县| 塔城市| 阳西县| 萨嘎县|