AI 助理
备案 控制台
开发者社区 开发与运维 文章 正文

Vue实例及选项

简介: Vue实例及选项



Vue通过构造函数来实例化一个Vue对象:var vm=new Vue({})。在实例化时,我们会传入一些选项对象,包含数据选项、属性选项、方法选项、生命周期钩子等常用选项。而且Vue的核心是一个响应式的数据绑定系统,建立绑定后,DOM将和数据保持同步,这样无须手动维护DOM,就能使代码更加简洁易懂,从而提升效率。

数据选项

一般地,当模板内容较简单时,使用data选项配合表达式即可。当涉及复杂逻辑时,则需要用到methods、computed、watch等方法。

data是Vue实例的数据对象。Vue使用递归法将data的属性转换为getter/setter,从而让data属性能够响应数据变化,代码如下:

Vue实例创建之后,在控制台输入vm.d a t a 即可访问原始数据对象,如图 3 − 2 所示。在 s c r i p t 标签中添加一些输出信息即可查看控制台从而观察 V u e 实例是否代理了 d a t a 对象的所有属性,代码如下: ! [ 在这里插入图片描述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / d i r e c t / 0007 b c 9 d 0 f 5 b 4058 b c a 675 d e a 396 b 030. p n g ) ! [ 在这里插入图片描述 ] ( h t t p s : / / i m g − b l o g . c s d n i m g . c n / d i r e c t / f 1 f b 79 e d a 92340148 a f f a a 28 c c a c d b 1 f . p n g ) 被代理的属性是响应式的,也就是说值的任何改变都将触发视图的重新渲染。设置属性也会影响到原始数据,反之亦然。但是,以 “ ” 或“ data即可访问原始数据对象,如图3-2所示。 在script标签中添加一些输出信息即可查看控制台从而观察Vue实例是否代理了data对象的所有属性,代码如下:![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/direct/0007bc9d0f5b4058bca675dea396b030.png) ![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/direct/f1fb79eda92340148affaa28ccacdb1f.png) 被代理的属性是响应式的,也就是说值的任何改变都将触发视图的重新渲染。设置属性也会影响到原始数据,反之亦然。 但是,以“_”或“data即可访问原始数据对象,如图32所示。在script标签中添加一些输出信息即可查看控制台从而观察Vue实例是否代理了data对象的所有属性,代码如下:![在这里插入图片描述](https://imgblog.csdnimg.cn/direct/0007bc9d0f5b4058bca675dea396b030.png)![在这里插入图片描述](https://imgblog.csdnimg.cn/direct/f1fb79eda92340148affaa28ccacdb1f.png)被代理的属性是响应式的,也就是说值的任何改变都将触发视图的重新渲染。设置属性也会影响到原始数据,反之亦然。但是,以”开头的属性不会被Vue实例代理,因为它们可能和Vue内置的属性或方法冲突。可以使用如vm.$data._property的方式访问这些属性,代码如下:

属性选项

Vue为组件开发提供了属性(props)选项,可以使用它为组件注册动态属性,来处理业务之间的差异性,使代码可以在相似的应用场景复用。

props选项可以是数组或者对象类型,用于接收从父组件传递过来的参数,并允许为其赋默认值、类型检查和规则校验等,如例

方法选项

可以通过选项属性methods对象来定义方法,并且使用v-on指令来监听DOM事件

计算属性

在项目开发中,我们展示的数据往往需要处理。除了在模板中绑定表达式或利用过滤器外,Vue还提供了计算属性方法,计算属性是当其依赖属性的值发生变化时,这个属性的值会自动更新,与之相关的DOM部分也会同步自动更新,从而减轻在模板中的业务负担,保证模板的结构清晰和可维护性。

有时候需要在{{}}中进行一些计算再展示出数据

在页面中展示学生的成绩、总分和平均分

虽然通过{{}}运算,可以解决我们的问题,但是代码结构不清晰,特别是当运算比较复杂的时候,我们不能复用功能代码。这时,大家不难想到用methods来封装功能代码,但事实上,Vue提供了一个更好的解决方案——计算属性。计算属性是Vue实例中的一个配置选项:computed,通常计算相关的函数,返回最后计算出来的值。也就是我们可以把这些计算的过程写到一个计算属性中,然后让它动态地计算。

使用计算属性展示学生的成绩、总分和平均分

计算属性一般通过其他的数据计算出一个新数据,它的一个好处是能把新的数据缓存下来,当其他的依赖数据没有发生改变时,它调用的是缓存数据,这就极大地提高了程序的性能和数据提取的速度。而如果将计算过程写在methods中,数据就不会缓存下来,所以每次都会重新计算。这也是我们没有采用methods的原因。算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。这就意味着只要message没有发生改变,多次访问reversedMessage1计算属性会立即返回之前的计算结果,而不必再次执行函数。相比而言,只要发生重新渲染,methods总会调用并执行该函数。

MrRobot
目录
相关文章
mao29955
|
2天前
|
JavaScript 开发者
Svelte 中的事件处理机制与 Vue 有什么不同?
【10月更文挑战第4天】
mao29955
95 58
派大鑫的工作室
|
1天前
|
JavaScript UED 开发者
Vue中的导航守卫有哪三种?分别有什么作用
Vue中的导航守卫有哪三种?分别有什么作用
派大鑫的工作室
12 1
大树营养快线
|
1天前
|
JavaScript 前端开发 UED
如何在 Vue 中实现路由懒加载?
【10月更文挑战第5天】
大树营养快线
8 1
那年春天
|
1天前
|
存储 JavaScript UED
在 Vue 组件中动态切换全局样式
【10月更文挑战第5天】
那年春天
9 1
光明顶阳顶天
|
1天前
|
JavaScript 前端开发
使用 Vue CLI 来处理样式的编译和打包
【10月更文挑战第5天】
光明顶阳顶天
6 1
john散漫
|
2天前
|
存储 消息中间件 JavaScript
vue组件传值的12种方式
【10月更文挑战第1天】
john散漫
14 1
光明顶阳顶天
|
2天前
|
缓存 JavaScript 前端开发
qiankun 微应用vue接入到基座
【10月更文挑战第4天】
光明顶阳顶天
11 1
凌浩雨
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
凌浩雨
1040 0
Codelinghu
|
2天前
|
JavaScript
Vue CLi脚手架创建第一个VUE项目
Vue CLi脚手架创建第一个VUE项目
Codelinghu
15 3
那年春天
|
2天前
|
前端开发 JavaScript 开发者
除了 Vue,还有哪些框架支持 Render 函数?
【10月更文挑战第4天】
那年春天
95 58

热门文章

最新文章

  • 1
    vite 如何做到让 vue 本地开发更快速?
  • 2
    【Ant Design Vue V3版本填坑记录三】一套代码实现表格常用属性
  • 3
    VUE element-ui之table表格表头下拉筛选功能
  • 4
    从脚手架开始学前端 【第5期】Vue脚手架搭建
  • 5
    vue3使用canvas画布合成图片
  • 6
    精通React/Vue系列之实现一个全局提示(Message)组件
  • 7
    Vue3+TS实现自定义input组件的验证功能
  • 8
    若依(ruoyi)前端Vue3 Element Plus Vite版样式修改
  • 9
    使用vue-demi来开发一个vue2和vue3组件
  • 10
    vue setup()用法
  • 1
    Vue.js 中父组件调用子组件的方法
    113
  • 2
    Vue.js 中子组件向父组件传值的方法
    61
  • 3
    了解vue3的基本特性和底层原理
    331
  • 4
    【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程
    96
  • 5
    【vue】深入探讨vue中组件间多种传值方式
    65
  • 6
    vue组件化开发流程梳理,拿来即用
    72
  • 7
    Vue Router的介绍与引入
    37
  • 8
    Vue3中props的原理与使用
    62
  • 9
    vue中404解决方法
    56
  • 10
    Vue 中如何模块化使用 Vuex
    35
  • 相关课程

    更多
  • Spring Boot+Vue.js+FastDFS实现分布式图片服务器
  • Vue.js 入门与实战
  • Vue.js完全自学手册图文教程
  • 相关电子书

    更多
  • Vue.js 在前端服务化上的探索与实践
  • 利用编译将 Vue 组件转成 React 组件
  • Vue.js在前端服务化上的实践与探索
  • 下一篇
    阿里云无影AI云电脑亮相 体验大幅升级

    深圳坪山网站建设公司网站标题优化需要重视什么铜陵吉安营销型网站优化营销优化网站建设皇寂宀云速捷宜春网站优化福州晋安网站seo优化公司德州网站推广优化公司网站优化失败怎么解决中教畅想网站优化东莞网站优化流程怎么提高网站优化率华富小企业网站优化开发区网站优化收费泉州网站排名优化公司东莞网站优化技巧宝鸡网站优化排名热线电话网站优化能提升业绩东至网站优化公司地址新网站的优化优化网站排名函数汕尾网站竞价优化外包苏州做网站优化外包网站优化木材行业网站优化运营网站运行速度优化罗定网站优化排名广州网站优化电话哪能学网站优化山东网站优化方法连云港优化网站团队尧都网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

    深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化