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

网站建设和编辑实训报告专业网站建设联系

网站建设和编辑实训报告,专业网站建设联系,app 网站开发公司电话,网站设置在哪里找明确一点 vue的响应式系统不支持Map和Set&#xff0c;也就是说&#xff0c;当Map与Set里面的元素变化时Vue追踪不到这些变化&#xff0c;因此无法做出响应。 如下demo其实是不会进行数据相应的 <h1 v-for"(item,index) in mySetAsList" :key"index"&…

明确一点

vue的响应式系统不支持Map和Set,也就是说,当Map与Set里面的元素变化时Vue追踪不到这些变化,因此无法做出响应

如下demo其实是不会进行数据相应的

<h1 v-for="(item,index) in mySetAsList" :key="index">{{item}}</h1>
<button @click="add">按钮</button>data() {return {i: 1,mySetChangeTracker: 1,mySet: new Set(),}}computed: {mySetAsList() {console.log(...this.mySet)let x = this.mySetChangeTrackerreturn [...this.mySet];}
},methods: {add() {this.mySet.add(this.i++);this.mySetChangeTracker += 1;}}

如何让map和set可以响应

1、创建一个可以相应的简单数据结构,利用vue已有的api,将这个简单数据结构和map或者set关联起来
2、需要创建此结构的可序列化副本并将其暴露给Vue

<h1 v-for="(item,index) in mySetAsList" :key="index">{{item}}</h1>
<button @click="add">按钮</button>data() {return {i: 1,mySetChangeTracker: 1,mySet: new Set(),}}computed: {mySetAsList() {let x = this.mySetChangeTrackerconsole.log(...this.mySet)return [...this.mySet];}
},methods: {add() {this.mySet.add(this.i++);this.mySetChangeTracker += 1;}}

也可以确定一下vue计算属性的用法:只要计算属性中用到了响应式数据,响应式数据发生变化,其实也就会触发到该计算属性使用到的地方(并不是必须返回一个响应式数据)

计算属性的set,get用法

当触发add方法时视图层会由 XiaoMing 变化为 ZhangMing,本质上就是响应式数据变化触发了计算属性的get方法


<h1>{{fullName}}</h1>data: function() {return {firstName: 'Xiao',lastName: 'Ming'};
},computed: {fullName:{get(){//回调函数 当需要读取当前属性值是执行,根据相关数据计算并返回当前属性的值return this.firstName + ' ' + this.lastName},set(val){//监视当前属性值的变化,当属性值发生变化时执行,更新相关的属性数据//val就是fullName的最新属性值console.log(val)const names = val.split(' ');console.log(names)this.firstName = names[0];this.lastName = names[1];}}},methods: {add() {this.firstName = "Zhang"}}

当触发add方法时(给计算属性赋值),此时会触发计算属性的set方法,set函数中是可以对响应式数据进行一些处理的,如下代码

set =>改变响应式数据 =>响应式数据变化又触发了计算属性的get
add方法触发时界面显示Zhang fan

data: function() {return {firstName: 'Foo',lastName: 'Bar'};
},computed: {fullName:{get(){//回调函数 当需要读取当前属性值是执行,根据相关数据计算并返回当前属性的值return this.firstName + ' ' + this.lastName},set(val){//监视当前属性值的变化,当属性值发生变化时执行,更新相关的属性数据//val就是fullName的最新属性值console.log(val)const names = val.split(' ');console.log(names)this.firstName = names[0];this.lastName = names[1];}}},methods: {add() {this.fullName = "Zhang fan"}

计算属性特点

1、具有缓存性,页面重新渲染值不变化,计算属性会立即返回之前的计算结果,而不必再次执行函数
2、是计算值,
3、应用:就是简化tempalte里面{{}}计算和处理props或$emit的传值

http://www.yayakq.cn/news/751642/

相关文章:

  • 背景网站建设公司网站建设的公司如何选
  • 自助单页网站网站报备流程
  • 专业的网站建设联系本地升级wordpress
  • 建设网站comwordpress排行小工具
  • 北京网站建设最便宜的公司哪家好网站建设资料百度云
  • 家纺外发加工订单网佛山网站优化搜索
  • 创建app与网站的区别山东住房城乡建设部网站
  • 使用云主机做网站教程个人做地方民生网站
  • 网站搜索优化找哪家衡阳市本地新闻头条
  • 会员制网站 建设电视剧百度搜索风云榜
  • 网站域名推广wordpress变化
  • 哪里有做网站企业青岛企业如何建网站
  • 网站编程培训学校招生北京百度竞价托管
  • 珲春市建设局网站是多少购物商城网站建设方案
  • 郑州网站建设伟置网站没建设可以访问吗
  • 建站教程图解科技有限公司的经营范围
  • 潍坊住房与城乡建设局网站网站正在维护中 模板
  • 做网站用的动漫资料网站开发下载那个
  • 快点tv下载安装崇明网站怎么做seo
  • 上虞市建设风机厂网站网址大全2345电脑版下载
  • 学习网站开发流程现在能不能去西安
  • 嘉兴做微网站的公司网络科技公司取什么名字好
  • 陕煤建设集团韩城分公司网站长虹电视网站建设中
  • dw制作旅游网站教程怎么建一个网站
  • 网站登录页面空白spring框架做网站
  • 好看的网站颜色页面设计文献
  • 知名营销类网站南宁网上房地产
  • 网站优化18600119496怎么做网站推广方案
  • 网页网站设计与制作个人简历模板网站
  • 云南科技公司网站做网站字体用什么格式