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相关的语法的更多相关文章

  1. Vue.js 2.x笔记:基本语法(2)

    1. Vue实例及选项 1.1 创建Vue实例(new Vue instance) 每个Vue Application必须创建一个root Vue Instance. <script> v ...

  2. Vue学习计划基础笔记(二) - 模板语法,计算属性,侦听器

    模板语法.计算属性和侦听器 目标: 1.熟练使用vue的模板语法 2.理解计算属性与侦听器的用法以及应用场景 1. 模板语法 <div id="app"> <!- ...

  3. VUE环境配置步骤及相关Git Bash命令的使用

    组件式开发中,一定少不了Vue,废话少说,开始进行Vue应用前的关键性配置 备注:(为方便进行配置,提前可以安装Git bash,下载路径——https://git-scm.com/downloads ...

  4. 在vue中操作DOM--this.$nextTick()

    虽然 Vue.js 通常鼓励开发人员沿着"数据驱动"的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 V ...

  5. vue api学习之nextTick的理解

    对于 Vue.nextTick 方法,之前没有听说过,突然听到别人提起,貌似作用挺大.以下为学习心得.官方文档上这样定义:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法, ...

  6. Vue.Draggable/SortableJS 的排序功能,在VUE中的使用

    此插件git: https://github.com/SortableJS/Vue.Draggable 基于Sortable.js http://www.cnblogs.com/xiangsj/p/6 ...

  7. mescroll在vue中的应用

    1.npm install --save mescroll.js 2. <template> <div> <!--全部--> <mescroll-vue re ...

  8. Vue:(二)基础常用语法

    (一)模板语法 Mustache语法:{{ msg }} Html赋值:v-html = " " 绑定属性:v-bind:id = " " 使用表达式:{{ o ...

  9. 基于iscroll的better-scroll在vue中的使用

    什么是 better-scroll better-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在这里.better-scroll 也很强 ...

随机推荐

  1. LINUX常见性能监控工具总结

    文章来源 工具功能概览 整理了一个关于监控工具及其功能的表.下面对这些工具单独详细介绍. Linux性能监控工具 top top命令会展示进程的实际活动.默认情况下,它会列出系统上所有cpu密集型任务 ...

  2. 源码安装zabbix遇到的报错集锦

    报错1:checking for mysql_config... configure: error: MySQL library not found 解决办法:查找mysql_config #find ...

  3. ubuntu的磁盘扩容

    前言:以前项目的人给ubuntu虚拟机分配磁盘空间走的默认,导致后期/根和swap空间跟不上需求,需要扩容 流程如下: 1.先添加块硬盘,命令行输入fdisk -l,会发现多了个/dev/sdb(vd ...

  4. 阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试

    阿里云各Linux发行版netcore兼容性评估报告---来自大石头的测试 结论:    优先选择CentOS/Ubuntu,可选AliyunLinux(CentOS修改版)              ...

  5. Laravel日常使用总结

    字段当做键值key 集合的keyBy()方法详情:戳这里 创建模型类和数据库迁移文件 php artisan make:model Post -m 创建控制器和基础的方法 php artisan ma ...

  6. 带URL的XML解析方式

    XmlDocument xml = new XmlDocument(); xml.LoadXml(responseString); XmlNode root = xml.DocumentElement ...

  7. 在使用mysql8.0的时候遇到的密码链接问题

    问题概述 SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client SQLSTAT ...

  8. Django与supervisor 管理进程

    1.前言 在Django项目中,我们需要用到一些独立于Django框架外的脚本.这样一些脚本可能需要独立的持续运行,且具有很强的可维护性,这个时候supervisor就可以排上用场了. 基于pytho ...

  9. 微信小程序免费Https获取以及Ubuntu Nginx配置

    先贴上Nginx的配置文件 user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections ...

  10. ajax登录验证-js

    1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...