vue中$refs、$slot、$nextTick相关的语法
Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来
1、$data和$el
var data = { a: 1 }
var vm = new Vue({
el: '#example',
data: data
})
vm.$data === data // => true
vm.$el === document.getElementById('example') // => true
2、$refs
ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例
ref 需要在dom渲染完成后才会有,在使用的时候确保dom已经渲染完成。比如在生命周期 mounted(){} 钩子中调用,或者在 this.$nextTick(()=>{}) 中调用。
<div id="app">
<p ref="header">头部</p>
<son ref='son'></son>
<div ref="footer">尾部</div>
</div>
<template id="son">
<div>{{msg}}</div>
</template>
var son = {
template:'#son',
data(){
return {
msg:'子组件数据'
}
},
}
var vm = new Vue({
el:'#app',
components:{
son
},
mounted(){
console.log(this.$refs.header) //<p ref="header">头部</p>
}
})
3、$nextTick() 处理异步更新数据
var son = {
template:'#son',
data(){
return {
msg:'子组件数据'
}
},
mounted(){
this.msg='更改后数据'
}
}
var vm = new Vue({
el:'#app',
components:{
son
},
mounted(){
console.log(this.$refs.son.$el.innerHTML) //子组件数据
this.$nextTick(()=>{
console.log(this.$refs.son.$el.innerHTML) //更改后数据
})
}
})
vue中$refs、$slot、$nextTick相关的语法的更多相关文章
- Vue.js 2.x笔记:基本语法(2)
1. Vue实例及选项 1.1 创建Vue实例(new Vue instance) 每个Vue Application必须创建一个root Vue Instance. <script> v ...
- Vue学习计划基础笔记(二) - 模板语法,计算属性,侦听器
模板语法.计算属性和侦听器 目标: 1.熟练使用vue的模板语法 2.理解计算属性与侦听器的用法以及应用场景 1. 模板语法 <div id="app"> <!- ...
- VUE环境配置步骤及相关Git Bash命令的使用
组件式开发中,一定少不了Vue,废话少说,开始进行Vue应用前的关键性配置 备注:(为方便进行配置,提前可以安装Git bash,下载路径——https://git-scm.com/downloads ...
- 在vue中操作DOM--this.$nextTick()
虽然 Vue.js 通常鼓励开发人员沿着"数据驱动"的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 V ...
- vue api学习之nextTick的理解
对于 Vue.nextTick 方法,之前没有听说过,突然听到别人提起,貌似作用挺大.以下为学习心得.官方文档上这样定义:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法, ...
- Vue.Draggable/SortableJS 的排序功能,在VUE中的使用
此插件git: https://github.com/SortableJS/Vue.Draggable 基于Sortable.js http://www.cnblogs.com/xiangsj/p/6 ...
- mescroll在vue中的应用
1.npm install --save mescroll.js 2. <template> <div> <!--全部--> <mescroll-vue re ...
- Vue:(二)基础常用语法
(一)模板语法 Mustache语法:{{ msg }} Html赋值:v-html = " " 绑定属性:v-bind:id = " " 使用表达式:{{ o ...
- 基于iscroll的better-scroll在vue中的使用
什么是 better-scroll better-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在这里.better-scroll 也很强 ...
随机推荐
- LINUX常见性能监控工具总结
文章来源 工具功能概览 整理了一个关于监控工具及其功能的表.下面对这些工具单独详细介绍. Linux性能监控工具 top top命令会展示进程的实际活动.默认情况下,它会列出系统上所有cpu密集型任务 ...
- 源码安装zabbix遇到的报错集锦
报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...
- ubuntu的磁盘扩容
前言:以前项目的人给ubuntu虚拟机分配磁盘空间走的默认,导致后期/根和swap空间跟不上需求,需要扩容 流程如下: 1.先添加块硬盘,命令行输入fdisk -l,会发现多了个/dev/sdb(vd ...
- 阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试
阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试 结论: 优先选择CentOS/Ubuntu,可选AliyunLinux(CentOS修改版) ...
- Laravel日常使用总结
字段当做键值key 集合的keyBy()方法详情:戳这里 创建模型类和数据库迁移文件 php artisan make:model Post -m 创建控制器和基础的方法 php artisan ma ...
- 带URL的XML解析方式
XmlDocument xml = new XmlDocument(); xml.LoadXml(responseString); XmlNode root = xml.DocumentElement ...
- 在使用mysql8.0的时候遇到的密码链接问题
问题概述 SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client SQLSTAT ...
- Django与supervisor 管理进程
1.前言 在Django项目中,我们需要用到一些独立于Django框架外的脚本.这样一些脚本可能需要独立的持续运行,且具有很强的可维护性,这个时候supervisor就可以排上用场了. 基于pytho ...
- 微信小程序免费Https获取以及Ubuntu Nginx配置
先贴上Nginx的配置文件 user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections ...
- ajax登录验证-js
1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...