01. Vue实例

Vue实例

通过new关键字实例化Vue({})构造函数

<script>new Vue({el: "#app",data: {msg: "Hello World"}})</script>

Vue实例配置对象

选项 说明
data Vue实例数据对象
methods 定义Vue实例中的方法
components 定义子组件
computed 计算属性
filters 过滤器
el 唯一根元素
watch 监听数据变化

el唯一根标签

在创建Vue实例时,el表示唯一根标签,class或id选择器可用来将页面结构与Vue实例对象vm中的el绑定。

data初始数据

Vue实例的数据对象为data,Vue会将data的属性转换为getter、setter,从而让data的属性能够响应数据变化。

Vue实例创建之后,可以通过vm.data访问原始数据对象。Vue实例也代理了data对象上所有的属性,因此访问vm.name相当于访问vm.data访问原始数据对象。Vue实例也代理了data对象上所有的属性,因此访问vm.name相当于访问vm.data访问原始数据对象。Vue实例也代理了data对象上所有的属性,因此访问vm.name相当于访问vm.data.name。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script>
</head>
<body><div id="app">{{msg}}</div><script>new Vue({el: "#app",data: {msg: "Vue实例创建成功"}})</script>
</body>
</html>

methods定义方法

methods属性用来定义方法,通过Vue实例可以直接访问这些方法
在定义的方法中,this指向Vue实例本身
定义在methods属性中的方法可以作为页面中的事件处理方法使用
当事件触发后,执行相应的事件处理方法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script>
</head>
<body><div id="app">{{msg}}<br><button @click="showInfo()"> 单击 </button></div><script>new Vue({el: "#app",data: {msg: "Vue实例创建成功"},methods: {showInfo(){this.msg = "Hello Methods"}}})</script>
</body>
</html>

computed计算属性

计算属性结果会被缓存起来,当依赖的响应式属性发生变化时,才会重新计算,返回最终结果。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script>
</head>
<body><div id="app">{{msg}}<br><button @click="showInfo()"> 单击 </button><br>单价 : {{price}} <br>数量 : {{num}} <br>总价 : {{totlaPrice}}<button @click="num++"> 单击 </button></div><script>new Vue({el: "#app",data: {msg: "Vue实例创建成功",price: 100,num: 3},methods: {showInfo(){this.msg = "Hello Methods"}},computed: {totlaPrice() {return this.price * this.num;}}});</script>
</body>
</html>

watch状态监听

Vue中的事件处理方法是根据用户所需自行定义的,它可以通过单击事件、键盘事件等触发条件来触发,但不能自动监听当前Vue实例的状态变化。为解决这个问题,Vue提供了watch状态监听的功能,只需要监听当前Vue实例中的数据变化,就会调用当前数据所绑定的事件处理方法。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script>
</head>
<body><div id="app">{{msg}}<br><button @click="showInfo()"> 单击 </button><br>单价 : {{price}} <br>数量 : {{num}} <br>总价 : {{totlaPrice}} <br><button @click="num++"> 单击 </button> <br>city :<input type="text" v-model="city"></div><script>new Vue({el: "#app",data: {msg: "Vue实例创建成功",price: 100,num: 3,city: "shanghai"},methods: {showInfo(){this.msg = "Hello Methods"}},computed: {totlaPrice() {return this.price * this.num;}},watch: {city(newName,oldName){newName = "new " + newName;oldName = "old " + oldName;console.log(newName,oldName);}}});</script>
</body>
</html>

filters过滤器

在前端页面开发中,通过数据绑定可以将data数据绑定到页面中,页面中的数据经过逻辑层处理后展示最终的结果。数据的变化除了在Vue逻辑层进行操作外,还可以通过过滤器来实现。过滤器常用于对数据进行格式化,如字符串首字母改大小写,格式化等。过滤器有两种使用方式:

filters过滤器--{{}}在插值语法中使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cMqDXJtI-1650278010066)(Vue.js教程.assets/1650274608787.png)]

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script>
</head>
<body><div id="app">{{msg}} <br><br><button @click="showInfo()"> 单击 </button><br>单价 : {{price}} <br>数量 : {{num}} <br>总价 : {{totlaPrice}} <br><button @click="num++"> 单击 </button> <br>city :<input type="text" v-model="city">{{msg | toUpcase}}<div v-bind:id="dataId | formatId"> hello world </div></div><script>new Vue({el: "#app",data: {msg: "Vue实例创建成功",price: 100,num: 3,city: "shanghai",dataId: "div1"},methods: {showInfo(){this.msg = "Hello Methods"}},computed: {totlaPrice() {return this.price * this.num;}},watch: {city(newName,oldName){newName = "new " + newName;oldName = "old " + oldName;console.log(newName,oldName);}},filters: {// 将value转换成大写toUpcase(value){return value ? value.toUpperCase() : ""},formatId(value){return value ? value.charAt(1) + value.indexOf("d") : "";}}});</script>
</body>
</html>

filters过滤器--在v-bind语法中使用

二、Vue实例对象及其属性相关推荐

  1. 实例对象的属性和原型对象中的属性重名问题 神奇的原型链 继承 继承案例

    实例对象的属性和原型对象中的属性重名问题 <!DOCTYPE html> <html lang="en"> <head><meta cha ...

  2. Vue之MVVM、Vue实例对象、生命周期

    1.初识Vue Vue是一套用于构建用户界面的渐进式框架,Vue 被设计为可以自底向上逐层应用,Vue的核心是只关注视图层(如何理解),不仅易于上手,还便于与第三方库或既有项目整合. 渐进式框架:渐进 ...

  3. 理解Python中的类对象、实例对象、属性、方法

    class Animal(object): # 类对象age = 0 # 公有类属性__like = None # 私有类属性def __init__(self): # 魔法方法self.name = ...

  4. vue实例中调用外部js_js文件中引用vue实例对象

    原因 我使用了iView的框架,想要把表格的配置提取出来,但是表格里面的操作需要用到this,所以就需要在js文件中引用vue实例. 方法 utils - local-data.js // vue实例 ...

  5. Vue——基础(对象、属性样式操作、条件、循环、事件、绑定)

    目录 vue对象 vue操作属性 vue操作样式 三元运算 条件渲染 循环语句 click事件 双向绑定数据 vue对象 1.创建: new Vue({ - }) 2.属性: 属性 描述 el 需要管 ...

  6. 组件的data属性 (有别于Vue实例的data属性)

    转载于:https://www.cnblogs.com/JAVA-STUDYER/p/11038381.html

  7. Vue中的vm和VueComponent的实例对象

    关于vm和vc,vm为Vue的实例对象,vc为VueComponent的是对象. 一.vm 1.Vue的实例对象,以后简称vm. (1) vm的隐式原型属性指向Vue的原型对象. (2) VueCom ...

  8. 计算属性与监听器、Vue 实例的生命周期

    本文是我在学习过程中记录学习的点点滴滴,仅仅为了学完之后巩固一下,日后忘记了也可以方便快速的复习. 计算属性与监听器.Vue 实例的生命周期 前言 一.计算属性 1.1.计算属性初步理解 1.2.计算 ...

  9. vue入门(二)---vue实例

    创建一个vue实例之后,向其中传入选项对象(数据.DOM.生命周期钩子.资源.组合.其他) 数据与方法: 当数据改变时,视图会重新渲染,只有实例被创建时存在的属性才是响应式的,vm后添加的属性的改动不 ...

  10. Vue3(撩课学院)笔记01-创建实例对象,v-for遍历,时间绑定,传参,时间修饰符,计算属性,v-if,v-show,深拷贝,v-model与各类表单的绑定

    1.创建vue实例对象 <!DOCTYPE html> <html lang="en"> <head><meta charset=&quo ...

最新文章

  1. fluent p1模型_Fluent辐射传热模型理论以及相关设置-转载 于 作者:Libo Chen
  2. ITK:使用Otsu阈值图像
  3. (19) 转载: 寻找丑数
  4. 牛客题霸 [ 最长回文子串] C++题解/答案
  5. php mysql 菜鸟_PHP 和 MySQL 基础教程(四)
  6. iOS7,8 presentViewController 执行慢
  7. 计算机教学怎么为护士服务卫校,【计算机教学论文】中专卫生学校计算机教学论文(共1480字)...
  8. 猜字游戏(python版加C语言版)
  9. scrolling=no 无法根据坐标获取元素_提高三坐标测量精度,要记住这几招
  10. oracle 比较日期相等
  11. 错误描述: plugin scala is incompatible
  12. php爬虫框架phpfetcher,TrackRay:打造一款自己的渗透测试框架
  13. JS/JavaScript中的概念区分:global对象、window对象、document对象
  14. Verilog中begin...end和fork....join的区别和用法
  15. PHP+Javascript实现拖动滑块完成拼图验证码
  16. 地图比例尺与空间分辨率之间的关系_航高、分辨率与比例尺的关系
  17. Visio页面的虚线怎么去掉
  18. linux用户无法接收邮件,linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(一)-系统账户登陆收发邮件...
  19. LeetCode琅琊榜第九层-加油站问题(图表法)
  20. html/css导入自己的字体样式

热门文章

  1. aws服务器修改root密码,使用Xshell登录AWS EC2服务器设置root+密码方式登录
  2. String常用方法有哪些?在工作中使用过哪些?
  3. PTAM特征点法跟踪和建图 SLAM FAST Patch
  4. SDRAM 控制器(六)——仲裁模块
  5. 串灯控制盒去掉怎么接_彩灯控制器坏了怎么办
  6. 自己写的一个GPS卫星地图
  7. IEC 61131 标准系列
  8. 网站开发项目的需求分析
  9. 基于VRML的虚拟校园漫游系统
  10. w10投影全屏设置_win10投影仪怎么铺满全屏|win10投影器全屏的设置方法