# ref获取不到
有如下几种情况,请自行对号入座:
## 在onLoad事件里获取
注意,onLoad生命周期的时候DOM节点尚未挂载完成,你是拿不到的,最早能获取到ref的是mounted,对于页面来说还有一个额外的生命周期名为onReady,在这两个生命周期里都能安全获取到ref。
## 组件在popup里
在popup里的东西受v-if控制,在弹窗没有打开的时候组件是不渲染的,但是如果你刚显示弹窗你也获取不到,因为**数据刚更新的时候DOM还没有更新**,需要用nextTick等一下。
```js
this.isPopupShow = true; // 让弹窗显示
this.$nextTick(() => {
this.$refs.xxx.... // 一定要在nextTick里获取
})
```
## this指向不对
这个问题比较愚蠢一些,建议转行,或者看之后的详细解释this指向的文章。
## 其他情况
如果**你是微信小程序用户**,把 基础版本库升级到2.19.2,这是微信小程序的bug。
> 本文作者: 不爱喝橙子汁
- 自述
- 学会提问
- 起步
- 安装
- 版本升级
- 1.x 升级 2.x 常见问题
- 命令行模式下node-sass安装错误
- 查看版本
- uView UI 1.x 相关问题
- 安装
- Popup 弹窗
- tabs 标签
- Waterfall 瀑布流
- Table 表格
- Dropdown 下拉菜单
- uview-ui组件篇
- u-upload监听beforeRead事件无效
- 组件怎么关不了
- 导航栏不默认返回好麻烦
- ref怎么获取不到
- z-index拉满都覆盖不了map
- u-text对手机号脱敏
- u-input的placeholder去不掉
- 服务端返回数据,form表单验证错误
- checkbox增加选中面积
- uview-ui组件篇/checkbox无法取消选中
- 小程序输入框的placeholder会穿透到弹出层
- JavaScript篇
- 判断数据类型
- 数组操作
- 节流与防抖函数
- this怎么就不对
- 计算地图上两点间的距离
- CSS篇
- 我要超出显示省略号
- uniapp中小程序样式穿透问题
- 关键帧与动画
- CSS动画属性总结
- 过渡与动画
- 正则表达式篇
- 身份证号
- 手机号
- 是否合法的http/https域名
- 数据处理篇
- 对数组分组
- 深拷贝对象
- 提取数组属性
- 提取对象属性
- 常见问题
- 如何给由组件触发的事件中传入自定义的参数
- 分类的双列联动
- 三级联动的实现
- 小程序预览提示包过大
- 框架安装失败
- 表格、瀑布流、下拉列表 组件为什么没有了
- tabBar组件怎么用
- 时间、日历、选择器相关问题
- 字体图标不显示
- class 或 /deep/ 不生效