this.$parent 访问父实例
this.$children 当前实例的直接子组件。(不保证顺序,不是响应式)
this.$parent.$parent.$refs.xxx 跨级访问父组件
this.$children.$children.$refs.xxx 跨级访问子组件
这种递归的方式 代码繁琐 性能低效
ref
只能获取当前组件上下文组件 无法跨层级
ref 是字符串 被用来给元素或子组件注册引用信息。
引用信息将会注册在父组件的 $refs 对象上。
如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;
如果用在子组件上,引用就指向组件实例
<!-- vm.$refs.p/this.$refs.p 获取DOM node --> <p ref="p">hello</p> <!-- vm.$refs.child/this.$refs.child 获取组件实例 --> <child-component ref="child"></child-component>
注:
因为 ref 本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们,它们还不存在
$refs 不是响应式的,因此你不应该试图用它在模板中做数据绑定。
这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。
当 ref 和 v-for 一起使用的时候,你得到的引用将会是一个包含了对应数据源的这些子组件的数组。
如何优雅的获取跨层级实例 "vue-ref"
3、使用插件Vue.use(ref, { name: "ant-ref" });name是给插件起名
插件使用方法
//使用`provide` 在根组件提供数据 provide() { return { //主动通知 将组件实例绑定在根组件上 setChildrenRef: (name, ref) => { this[name] = ref; }, //主动获取 获取绑定的组件 getChildrenRef: name => { return this[name]; }, // 获取根组件 getRef: () => { return this; } } } // 使用`inject` 在子组件中注入数据 inject: { setChildrenRef: { default: () => {} }, getParentRef: { from: "getRef", default: () => {} }, getParentChildrenRef: { from: "getChildrenRef", default: () => {} } } //使用指令注册子组件 <ChildrenH v-ant-ref="c => setChildrenRef('childrenH', c)" /> //使用指令注册DOM元素 <h3 v-ant-ref="c => setChildrenRef('childrenE', c)">E 结点</h3>
//获取根组件实例 this.getParentRef() //获取指定名称组件实例 this.getParentChildrenRef("childrenH") //这里输出的事DOM this.getParentChildrenRef("childrenE")
vue-ref插件源码
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { install: function install(Vue) { var options = arguments.length > 1 && arguments[1] !== undefined "color: #ff0000">补充知识:vue项目中z-index不起作用(将vue实例挂在到window上面)问题描述:由于原有项目(传统项目)中嵌入新的vue组件,dialog弹出框的z-index:999999;任然不起作用;
解决办法:将vue实例挂载到window
解决代码如下:
入口文件index.js中
import Index from './components/index.vue' import './index.pcss' function install (Vue) { Vue.component('gys-index-list', Index) } if (typeof window !== 'undefined' && window.Vue) { install(window.Vue) }在父组件中正确引入压缩后的css文件+js文件(这里截图的父组件是html文件)
将元素添加到body上面(解决z-index不起作用,前面内容只是铺垫)
总结描述:由于项目版本的迭代,需要将新的项目(使用的vue框架)嵌入到原有的传统的html文件项目中,控制台提示找不到vue组件。除了正确引入vue实例外,需要查看NGINX配置是否正确
以上这篇Vue组件跨层级获取组件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- Fine乐团《废墟游乐》[320K/MP3][105.13MB]
- 万山红.2009-花开原野万山红Vol.1-2【柏菲】2CD【WAV+CUE】
- 曾庆瑜1992-18首中英文经典全集[台湾派森][WAV整轨]
- 【上扬爱乐】群星-TheSoundsofLS35AVol.4情迷4【低速原抓WAV分轨】
- Fine乐团《废墟游乐》[Hi-Res][24bit 48kHz][FLAC/分轨][767.04MB]
- Cicada《回返 (十五周年自选集)》[320K/MP3][93.87MB]
- Cicada《回返 (十五周年自选集)》[Hi-Res][24bit 48kHz][FLAC/分轨][466.75MB]
- 郑智化.2024-不思议【智在上作】【FLAC分轨】
- 罗文.2015-NEW.XRCD精丫华星】【WAV+CUE】
- 许秋怡.1995-电影少女【丽音唱片】【FLAC分轨】
- 【中国艺术歌曲典藏】温雅欣《她比烟花寂寞》紫银合金SQCD【低速原抓WAV+CUE】
- 张国荣《FinalEncounter》头版限量编号MQA-UHQ[低速原抓WAV+CUE].
- 发烧萨克斯-雪国之春(SRS+WIZOR)[原抓WAV+CUE]
- 王铮亮《慢人理论》[320K/MP3][175.31MB]
- 王铮亮《慢人理论》[FLAC/分轨][524.11MB]