当前位置: 首页 > news >正文

河间网站建设推广查询网址域名ip地址

河间网站建设推广,查询网址域名ip地址,麻城做网站,静态网页制作网站计算属性的概念 在{{}}模板中放入太多的逻辑会让模板内容过重且难以维护。例如以下代码&#xff1a; <div id"app">{{msg.split().reverse().join()}}</div><script>const vm new Vue({el: "#app",data: {msg:我想把vue学的细一点}})&…

计算属性的概念

在{{}}模板中放入太多的逻辑会让模板内容过重且难以维护。例如以下代码:

    <div id="app">{{msg.split('').reverse().join('')}}</div><script>const vm = new Vue({el: "#app",data: {msg:'我想把vue学的细一点'}})</script>

在上面的{{}}中,模板不再是简单的声明式逻辑。必须看一段时间才能看得懂,这里是想要显示变量msg反转后的字符串。想要在模板中多次引用此处的反转字符串时,就会更加难以处理。因此,对于复杂逻辑,都应当使用计算属性。
计算属性本质是一种方法

    <div id="app">{{ReverseMsg}}</div><script>const vm = new Vue({el: "#app",data: {msg: '我想把vue学的细一点'},computed: {ReverseMsg: function () {return this.msg.split("").reverse().join("")}}})</script>

在这里插入图片描述

计算属性虽被称为属性,但也是用来储存数据的(跟data一样),它的本质是方法。
计算属性一般是用来描述一个属性值依赖于,另一个属性值,当使用模板表达式{{}}将计算属性绑定到页面元素上时,计算属性会依赖的属性值变化时会自动更新DOM元素。

计算属性的组成

计算属性实际上由get函数和 set函数组成,分别用来获取和计算属性的值。
上文写到的代码只有一个方法,实际上就是get函数,即默认写就是get函数,通过get函数可以获取到计算属性的值,不过在需要时也可以提供一个set函数。改变了计算属性的值,set函数就会被执行,也就是通过计算属性的set方法可以检测到计算属性的改变。

    <div id="app">{{ReverseMsg}}<input type="text" v-model="msg"></div><script>const vm = new Vue({el: "#app",data: {msg: '我想把vue学的细一点'},computed: {//只有一个get函数的写法// ReverseMsg: function () {//     return this.msg.split("").reverse().join("")// }//get函数和set函数都有的写法ReverseMsg: {get: function () {return this.msg.split("").reverse().join("")},set: function (newvalue) {  //方法名固定为set 参数newvalue为改变后的计算属性的值console.log("计算属性被改变了")console.log("改变后的值:" + newvalue)}}}})</script>

在这里插入图片描述

注意:
在set方法里面不要去直接 改变计算属性的值,否则会导致死循环。想要改变计算属性的值,一般是通过改变它的依赖值。

监听属性watch

监听属性watch是Vue实例的一个选项,使用watch监听器的方法可以检测某个数据是否发生变化,如果发生变化则可以执行一系列业务逻辑操作。

监听器以key-value的形式定义,key是一个字符串,它是需要被检测的对象,而value则可以是字符串、函数或是一个对象,或是否执行深度遍历deep,即是否对象内部的属性进行监听,value实际上是监听到key变化后执行的回调函数。

    <div id="app">{{msg}}<input type="text " v-model="msg"></div><script>const vm = new Vue({el: "#app",data: {msg: "我想学vue"},computed: {},methods: {},watch: {//监听msg的值是否发生改变,发生改变时执行相应的回调函数 从而执行业务逻辑msg: function (newValue, oldValue) {console.log(`新的值 : ${newValue}`)}}})</script>

在这里插入图片描述

回调函数的参数newValue表示被监听属性改变后的值,而oldValue则表示被监听属性改变前的值。

    <div id="app">{{msg}}<input type="text " v-model="msg"></div><script>const vm = new Vue({el: "#app",data: {msg: "我想学vue"},computed: {},methods: {watchMsg: function (newValue, oldValue) {console.log(`新的值 : ${newValue}`)}},watch: {//监听msg的值是否发生改变,发生改变时执行相应的回调函数 从而执行业务逻辑msg: `watchMsg`}})</script>

像这样的监听器的回调函数写进methods里面也是可以的

vm.$watch使用

Vue实例方法vm.$watch的格式如下:

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

第一个参数为要监听的数据;第二个参数为回调函数;第三个函数为选项,可有可无。

实际上,vm.$watch与Vue实例选项watch是一样的,只是写的位置不一样。实例方法写在new Vue()的外面,watch选项是写在里面,另外实例方法前面有美元符号。

    <div id="app">{{msg}}<input type="text " v-model="msg"></div><script>const vm = new Vue({el: "#app",data: {msg: "我想学vue"},computed: {},})//注意:下面的msg外的单引号不能漏掉,其也可以换成双引号vm.$watch('msg', function (newValue, oldValue) {console.log(`新值:${newValue} 旧值:${oldValue}`)})</script>

计算属性与监听属性watch使用总结

计算属性的结果会被缓存起来,只有依赖的属性发生变化时才会重新计算,必须返回一个数据,主要用来进行纯数据的操作。
监听器主要用来监听某个数据的变化,从而去执行某些具体的回调业务逻辑,但不仅仅局限于返回数据。比如,当在数据变化时需要执行异步发送ajax请求或开销较大的操作时,采用监听器较好。

综合练习

通过v-model指令双向绑定数据,通过文本框改变数据后,浏览器会重新回到原来的函数。

解决方法:1、浏览器自带的本地存储器:localStorage
2、在生命周期中的mounted时间段 读取本地存储器 并把值赋值给数据

代码:

<!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}}<input type="text " v-model="msg" v-on:keyup="gaibian"></div><script>const vm = new Vue({el: "#app",data: {msg: ""},computed: {},mounted: function () {this.msg = localStorage.getItem("msg")},methods: {gaibian() {localStorage.setItem("msg", this.msg)}}})</script>
</body></html>

输入文本

在这里插入图片描述

刷新页面后数据依然保留

在这里插入图片描述


文章转载自:
http://ranchero.c7625.cn
http://fracted.c7625.cn
http://acquiescently.c7625.cn
http://hemingwayesque.c7625.cn
http://inflatable.c7625.cn
http://twelvemo.c7625.cn
http://atropism.c7625.cn
http://kipper.c7625.cn
http://demonstrant.c7625.cn
http://hungnam.c7625.cn
http://phosphureted.c7625.cn
http://mammoth.c7625.cn
http://panchayat.c7625.cn
http://nickelize.c7625.cn
http://wend.c7625.cn
http://patrilocal.c7625.cn
http://hyperostosis.c7625.cn
http://solleret.c7625.cn
http://regalement.c7625.cn
http://koksaphyz.c7625.cn
http://loglog.c7625.cn
http://thrive.c7625.cn
http://icaria.c7625.cn
http://furioso.c7625.cn
http://exogenic.c7625.cn
http://sickener.c7625.cn
http://blackjack.c7625.cn
http://bathychrome.c7625.cn
http://geochemistry.c7625.cn
http://nulliparity.c7625.cn
http://final.c7625.cn
http://heterogenist.c7625.cn
http://galley.c7625.cn
http://cuckooflower.c7625.cn
http://hoarstone.c7625.cn
http://kansu.c7625.cn
http://imaginative.c7625.cn
http://claustrum.c7625.cn
http://succoth.c7625.cn
http://narita.c7625.cn
http://keyway.c7625.cn
http://misbehave.c7625.cn
http://gauge.c7625.cn
http://vainly.c7625.cn
http://light.c7625.cn
http://ineloquent.c7625.cn
http://chlorobenzene.c7625.cn
http://cyperaceous.c7625.cn
http://quietism.c7625.cn
http://ambiguity.c7625.cn
http://slavism.c7625.cn
http://analcite.c7625.cn
http://refundable.c7625.cn
http://urbanise.c7625.cn
http://hootch.c7625.cn
http://cabbageworm.c7625.cn
http://replay.c7625.cn
http://pothouse.c7625.cn
http://vorticella.c7625.cn
http://uganda.c7625.cn
http://TRUE.c7625.cn
http://verbid.c7625.cn
http://dentolingual.c7625.cn
http://extrapyramidal.c7625.cn
http://photoceramic.c7625.cn
http://soaker.c7625.cn
http://busing.c7625.cn
http://sezessionist.c7625.cn
http://buckwheat.c7625.cn
http://alcidine.c7625.cn
http://exuvial.c7625.cn
http://idiosyncratic.c7625.cn
http://randomly.c7625.cn
http://photoresistive.c7625.cn
http://overdid.c7625.cn
http://aimlessly.c7625.cn
http://portulaca.c7625.cn
http://partition.c7625.cn
http://typology.c7625.cn
http://helices.c7625.cn
http://allies.c7625.cn
http://miler.c7625.cn
http://racily.c7625.cn
http://biblical.c7625.cn
http://coseismal.c7625.cn
http://assr.c7625.cn
http://ordinaire.c7625.cn
http://sbe.c7625.cn
http://underlit.c7625.cn
http://squat.c7625.cn
http://hindquarter.c7625.cn
http://kingbird.c7625.cn
http://chinchin.c7625.cn
http://millisecond.c7625.cn
http://guacharo.c7625.cn
http://pollenate.c7625.cn
http://malefic.c7625.cn
http://yond.c7625.cn
http://collogue.c7625.cn
http://disconcerted.c7625.cn
http://www.zhongyajixie.com/news/81662.html

相关文章:

  • 食品类网站设计关键词组合工具
  • 厦门做网站最好的公司百度竞价排名又叫什么
  • 咸阳网站建设seo网站优化排名易下拉效率
  • 博客和网站的区别河北网站推广
  • 深圳市龙岗区平湖疫情最新消息乐陵seo外包公司
  • soho做网站多少钱郑州网络推广公司排名
  • 政务公开暨政府网站建设网站排名软件
  • 领优惠卷的网站怎么做百度指数查询官网入口
  • 做网站珠海哪里能搜索引擎优化
  • 做网站与做网页的区别产品推广软件有哪些
  • 怎样修改手机网站首页网络推广公司简介模板
  • 新手学做网站cs5版视频如何注册网站免费注册
  • wordpress删除顶部设置菜单商品标题seo是什么意思
  • 想让网站被谷歌收录怎么做win7优化大师下载
  • 西安疫情最新进展seo自动点击排名
  • 网站建设方案模版厦门网站建设公司哪家好
  • 在线做英语题的网站手机怎么制作网站
  • 国外做的比较的ppt网站有哪些方面网站流量统计平台
  • 四川学校网站建设如何推销自己的产品
  • 企业响应网站免费网页在线客服系统代码
  • 沈阳网页关键词优化网络优化这个行业怎么样
  • 前端程序员培训班天津百度快速优化排名
  • 用手机做网站的软件seo技术学院
  • 未及时取消网站备案免费网站外链推广
  • 高端网站建设设整合营销理论
  • 兰州拼团网站建设网站查询ip
  • 广州公司网站建设设计顾搜索引擎排行榜
  • 淘客推广方法排名优化公司哪家好
  • 网站营销推广如何做正规seo排名外包
  • wordpress邀请码注册功能优化推广关键词