美文网首页
vue中 的ref

vue中 的ref

作者: 禾苗种树 | 来源:发表于2022-02-21 14:52 被阅读0次

    尽管存在 prop 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件。为了达到这个目的,你可以通过 ref 这个 attribute 为子组件赋予一个 ID 引用。例如:

    <base-input ref="usernameInput"></base-input>
    

    现在在你已经定义了这个 ref 的组件里,你可以使用:

    this.$refs.usernameInput
    

    来访问这个 <base-input> 实例,以便不时之需。比如程序化地从一个父级组件聚焦这个输入框。在刚才那个例子中,该 <base-input> 组件也可以使用一个类似的 ref 提供对内部这个指定元素的访问,例如:

    <input ref="input">
    

    甚至可以通过其父级组件定义方法:

    methods: {
      // 用来从父级组件聚焦输入框
      focus: function () {
        this.$refs.input.focus()
      }
    }
    

    这样就允许父级组件通过下面的代码聚焦 <base-input> 里的输入框:

    this.$refs.usernameInput.focus()
    

    当 ref 和 v-for 一起使用的时候,你得到的 ref 将会是一个包含了对应数据源的这些子组件的数组。

    注意:refs 只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。

    全文引用于vue官网https://cn.vuejs.org/

    相关文章

      网友评论

          本文标题:vue中 的ref

          本文链接:https://www.haomeiwen.com/subject/luxxlrtx.html