vue中的ref及refs理解

在项目开发时,我们常常用到ref和refs两个属性。

一、一般来说,如果我们把ref属性定义到html元素之上,我们就可以对html元素进行DOM操作了,省去了传统的Document.getlelementById操作了,

例如:

<input type="text" ref="input" />
<p ref="word">测试文字</p>
<script>
      new Vue({
        el: "#app",
        mounted(){
          this.$refs.word.style.color="red"
          this.$refs.input1.value = "22";
        }
      })
    </script>

  

注意:vue的生命周期,如果在节点DOM为实例化之前使用this.$refs属性会报错,vue生命周期中mounted才完成DOM实例化!

二、ref属性用在子组件之中

我们常常在子组件使用ref属性 来获取子组件的data属性值或者方法

 

 

 

<child ref=child></child>
    <script>
      new Vue({
        el: "#app",
        created() {
        },
        mounted() {
          console.log(this.$refs.child.childWord)//获取子组件中data中的信息
          console.log(this.$refs.child.getchildInfo())//通过子组件的方法获取信息
        },
        components: {
          child: {
            template: "#child",
            data() {
              return {
                childWord: "子组件信息"
              }
            },
            methods: {
              getchildInfo: function() {
                return "我通过子组件方法获取的信息!"
              }

            }
          }
        }
      })
    </script>

  

posted @ 2020-10-31 23:19  li阿根  阅读(3415)  评论(0编辑  收藏  举报