vue实例的属性和方法
1. 属性
vm.$el
vm.$data
vm.$options
vm.$refs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue</title>
<script src="https://unpkg.com/vue"></script>
<script> window.onload = function(){ var vm = new Vue({
el:'#app',
data:{
msg:'Hello Word !',
name:'tom',
age:24,
},
show:function(){
console.log('show');
}
}) /**
* 属性
*/
//vm.属性名 获取data中的属性
console.log(vm.msg); //vm.$el 获取vue实例关联的元素
console.log(vm.$el); //DOM对象
vm.$el.style.color='red'; //vm.$data //获取数据对象data
console.log(vm.$data);
console.log(vm.$data.msg); //vm.$options //获取自定义属性
console.log(vm.$options.name);
console.log(vm.$options.age);
vm.$options.show(); //vm.$refs 获取所有添加ref属性的元素
console.log(vm.$refs);
console.log(vm.$refs.hello); //DOM对象
vm.$refs.hello.style.color='blue';
} </script>
</head> <body> <div id="app">
{{msg}} <h2 ref="hello">你好</h2>
<p ref="world">世界</p> <hr> <h1 ref="title">标题:{{name}}</h1> </div> </body> </html>
2. 方法
vm.$mount()
vm.$destroy()
vm.$nextTick(callback)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue</title>
<script src="https://unpkg.com/vue"></script>
<script> window.onload = function(){
/**
* 方法
*/
//vm.$mount() 手动挂载vue实例
// vm.$mount('#itany'); var vm = new Vue({
data:{
msg:'欢迎来到武汉',
name:'Tom'
}
}).$mount('#app'); //vm.$destroy() 销毁实例
// vm.$destroy(); // vm.$nextTick(callback) 在DOM更新完成后再执行回调函数,一般在修改数据之后使用该方法,以便获取更新后的DOM
//修改数据
vm.name='汤姆'; //DOM还没更新完,Vue实现响应式并不是数据发生改变之后DOM立即变化,需要按一定的策略进行DOM更新,需要时间!!
// console.log(vm.$refs.title.textContent);
vm.$nextTick(function(){
//DOM更新完成,更新完成后再执行此代码
console.log(vm.$refs.title.textContent);
});
} </script>
</head> <body> <div id="app">
{{msg}} <h1 ref="title">标题:{{name}}</h1> </div> </body> </html>
vm.$set(object,key,value)
vm.$delete(object,key)
 
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue</title>
<script src="https://unpkg.com/vue"></script>
<script> window.onload = function(){
var vm = new Vue({
el:"#app",
data:{
user:{
id:10010,
name:'Tom'
}
},
methods: {
//通过普通方式为对象添加属性时vue无法实时监视到
doUpdate:function(){
//this.user.name = 'Jam';
this.$set(this.user,'name','Jam');
},
doAdd:function(){
//this.user.age = 23;
//this.$set(this.user,'age',18); //通过vue实例的$set方法为对象添加属性,可以实时监视
//Vue.set(this.user,'age',18)
if(this.user.age){
this.user.age++;
}else{
Vue.set(this.user,'age',1)
}
},
doDelete(){
if(this.user.age){
Vue.delete(this.user,'age');
}
}
}
})
} </script>
</head> <body> <div id="app">
<h1>{{user.name}}</h1>
<h1>{{user.age}}</h1> <button v-on:click="doUpdate">修改属性</button>
<button v-on:click="doAdd">添加属性</button>
<button v-on:click="doDelete">删除属性</button>
</div> </body> </html>

vm.$watch(data,callback[,options])

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>vue</title>
<script src="https://unpkg.com/vue"></script>
<script> window.onload = function(){
var vm = new Vue({
el:"#app",
data:{
name:'Tom',
age:22,
user:{
id:10010,
name:'Maria'
}
},
watch:{ //方式2:使用vue实例提供的watch选项
age:function(newVal,oldVal){
console.log('age原值:'+oldVal+',age新值:'+newVal);
},
user:{
handler:(newVal,oldVal) => {
console.log('user原值:'+oldVal.name+',user新值:'+newVal.name);
},
deep:true //深度监视,当对象中的属性发生变化时也会监视
}
}
})
//方式1:使用vue实例提供的$watch()方法
vm.$watch('name',function(newVal,oldVal){
console.log('name原值:' + oldVal,'name新值:' + newVal);
},true)
} </script>
</head> <body> <div id="app"> <input type="text" v-model="name">
<h2>{{name}}</h2> <hr> <input type="text" v-model="age">
<h2>{{age}}</h2> <hr> <input type="text" v-model="user.name">
<h2>{{user.name}}</h2> </div> </body> </html>

  

Vue(十二)vue实例的属性和方法的更多相关文章

  1. Vue2.x源码学习笔记-Vue实例的属性和方法整理

    还是先从浏览器直观的感受下实例属性和方法. 实例属性: 对应解释如下: vm._uid // 自增的id vm._isVue // 标示是vue对象,避免被observe vm._renderProx ...

  2. vue实例的属性和方法

    vue实例的属性和方法 1. 属性 vm.$el #指定要绑定的元素 vm.$data #Vue 实例的数据对象 vm.$options #获取自定义属性的值 new Vue({ customOpti ...

  3. Vue2.0源码思维导图-------------Vue 构造函数、原型、静态属性和方法

    已经用vue有一段时间了,最近花一些时间去阅读Vue源码,看源码的同时便于理解,会用工具画下结构图. 今天把最近看到总结的结构图分享出来.希望可以帮助和其他同学一起进步.当然里边可能存在一些疏漏的,或 ...

  4. “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  5. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十二║Vue实战:个人博客第一版(axios+router)

    前言 今天正式开始写代码了,之前铺垫了很多了,包括 6 篇基础文章,一篇正式环境搭建,就是为了今天做准备,想温习的小伙伴可以再看看<Vue 基础入门+详细的环境搭建>,内容很多,这里就暂时 ...

  6. python学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法

    实例变量:在类的声明中,属性是用变量来表示的.这种变量就称为实例变量,也就是成员变量. 实例方法:在类中声明的方法,例如:my(self),必须实例化之后才可以使用,否则会报错. 类变量:公共的变量, ...

  7. vue入门(二)----模板与计算属性

    其实这部分内容我也是参考的官网:http://cn.vuejs.org/v2/guide/syntax.html,但是我还是想把自己不懂的知识记录一下,加深印象,也可以帮助自己以后查阅.所谓勤能补拙. ...

  8. Vue学习(二)-Vue中组件间传值常用的几种方式

    版本说明:vue-cli:3.0 主要分为两类: 1.父子组件间的传值 2.非父子组件间的传值 1.父子组件间传值 父组件向子组件传值 第一种方式: props 父组件嵌套的子组件中,使用v-bind ...

  9. vue教程二 vue组件(3)

    给属性传递数据 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

随机推荐

  1. Quartz.NET作业调度框架的简单应用

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  2. zjoi[ZJOI2018]胖

    题解: 因为n,m很大 所以复杂度应该是和m相关的 考虑到每个点的影响区间是连续的 就很简单了 区间查询最小值线段树维护(st表也可以) 然后注意一下不要重复算一个就可以了 max函数用templat ...

  3. C# 之 日常问题积累(一)

    1.响应在此上下文中不可用(Response). 异常:响应在此上下文中不可用 产生异常的过程:在asp.net程序中添加了一个 类.cs ,其中有一段代码如下 : Response.ClearCon ...

  4. struts2远程命令执行漏洞S2-045

    Apache Struts2最新漏洞(CVE-2017-5638,S02-45) struts2远程命令执行漏洞S2-045 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-04 ...

  5. 谁说java里面有返回值的方法必须要有返回值,不然会报错????

    慢慢的总是发现以前的学得时候有些老师讲的不对的地方! 所以还是尽量别把一些东西说的那么绝对,不然总是很容易误导别人,特别是一些你自己根本就没有试过的东西,然后又斩钉截铁的告诉别人,这样不行,肯定不行什 ...

  6. Eclipse 无输出,但不报错

    解决方法: 若界面中都没有console选项,则 工具栏 Window - Show View - Console Window - Preferences - Run/Debug - Console ...

  7. 使用EndNote在Word中插入参考文献

    以百度文库为例,首先找到我们要插入的参考文献,比如 搜索关键词,然后下需要的论文下面点击引用 得到 点击下面导出链接的EndNote,会下载一个.enw文件 找到此文件并双击打开后即已经导入到EndN ...

  8. Kafka生产者案例报警告SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

    一.SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 这个报警告的原因简单来说时因为slf4j的版本 ...

  9. TF之RNN:基于顺序的RNN分类案例对手写数字图片mnist数据集实现高精度预测—Jason niu

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  10. TF:TF定义两个变量相乘之placeholder先hold类似变量+feed_dict最后外界传入值—Jason niu

    #TF:TF定义两个变量相乘之placeholder先hold类似变量+feed_dict最后外界传入值 import tensorflow as tf input1 = tf.placeholder ...