Vue.js 通过参考号';将内容从一个子组件复制到另一个VueJS子组件
我正在学习VueJS,我对ref$ref的讲座有点困惑。我试图从vue的文档中理解它,但我没有得到我想知道的 例如,如果我有此组件:Vue.js 通过参考号';将内容从一个子组件复制到另一个VueJS子组件,vue.js,vuejs2,Vue.js,Vuejs2,我正在学习VueJS,我对ref$ref的讲座有点困惑。我试图从vue的文档中理解它,但我没有得到我想知道的 例如,如果我有此组件: <div id="User"> <user-item ref="details"></user-item> <permissions></permissions> </div> 我使用 这是。$refs.details 在用户父组件中使用该数据,因为此用户项是用户组件的子项
<div id="User">
<user-item ref="details"></user-item>
<permissions></permissions>
</div>
我使用
这是。$refs.details
在用户父组件中使用该数据,因为此用户项是用户组件的子项
<div id="User">
<user-item ref="details"></user-item>
</div>
同时,我还有另一个组件,称为用户组件的子级权限:
<div id="User">
<user-item ref="details"></user-item>
<permissions></permissions>
</div>
在这个权限组件中,我需要相同的this.$refs.details,但从我的测试来看,就像一个实验,不起作用
这只是一个简单的例子
有人能告诉我怎么做吗?您不需要使用
$refs
在组件之间传递数据。使用数据
、道具
或在组件之间分派事件
如果您确实想通过$refs
访问您的用户项目
。然后,您应该从权限组件中这样做
this.$parent.$refs.details
它基本上会获得一个对父组件(您的用户
组件)的引用,该组件在其$refs
中包含详细信息
这假设您的组件按如下方式组合在一起:
<user>
<user-item ref="details"></user-item>
<permissions></permissions>
</user>
其中,parentRefs
是permissions
组件的props
中的成员
OP可以使用this.parentRefs.details从权限访问用户项
,我试图使用它。$parent.$refs.details,我得到:“无法读取未定义的属性'details'”嗯,你能发布你的代码片段吗?它应该可以正常工作。this.$nextTick(()=>{this.$parent.$ref.details.open({title:this.fullName,});})代码>这在子级中,这在父级中:this.$nextTick(()=>{this.$refs.details.open({title:this.fullName,});})
尝试控制台日志this.$parent
和this.$parent.$refs
。我认为$refs
在安装组件后需要一段时间才能使用。我在很多情况下都看到了这一点。对于这个。$parent。$ref我得到:Object{background:div.fullscreen.layout-background.transition-generic.no-pointer-events.q-touch.q-touch-y,header:header.layout-header.transition-generic.fixed-top,main:div.layout-page-container.transition-generic,footer:…
为此,我在控制台中得到$parent:VueComponent{uid:11,_isVue:true,$options:Object,_renderProxy:Proxy,_self:VueComponent…}