为了账号安全,请及时绑定邮箱和手机立即绑定

vue自定义组件ref报错

vue自定义组件ref报错

qq_遁去的一_1 2019-03-27 22:19:57
在使用自定义组件使用ref的时候,发现会报错,当正确的时候:点击按钮输入框focus <div id="L4">                <ref-component>                </ref-component>                           </div>           <script>            Vue.component('ref-component',{              template:`                        <div>                           <input ref="name" type="text">                            <button  @click="focus">fouce</button>                        </div>                       `,              methods:{                focus:function(){                this.$refs.name.focus()                }              }            })            new Vue({              el:'#L4'            })但是将输入框写入一个子组件的时候再执行按钮事件,就会报错     <div id="L4">                <ref-component>                </ref-component>                           </div>           <script>            Vue.component('ref-component',{              template:`                        <div>                           <refs-component ref="name"></refs-component>                            <button  @click="focus">fouce</button>                        </div>                       `,              methods:{                focus:function(){                this.$refs.name.focus()                }              }            })            Vue.component('refs-component',{              template:`<input type="text" />`            })            new Vue({              el:'#L4'            })           </script>报错是请问如何才能访问这个子组件的内容呢?
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

显然是refs-component这个组件没有focus方法,你没有引用在input上


Vue.component('refs-component',{

  template:`<input ref='input' type="text" />`,

  methods: {

     focus(){

         this.$refs.input.focus();

     }

  }    

})

这样试试


查看完整回答
反对 回复 2019-04-02
  • 1 回答
  • 0 关注
  • 1200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信