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

网站不弄公安备案会怎么样aso优化推广公司

网站不弄公安备案会怎么样,aso优化推广公司,什么是网络设计方案,佛山美容网站建设上一节引出问题&#xff0c;Vue如何监测数组元素改变&#xff1f;问题解决前&#xff0c;我们先研究Vue如何监测对象中的属性改变。 分析Vue中对象数据&#xff1a; <div id"root"><h3>姓名&#xff1a;{{name}} </h3><h3>地址&#xff1a;…

上一节引出问题,Vue如何监测数组元素改变?问题解决前,我们先研究Vue如何监测对象中的属性改变

分析Vue中对象数据:

    <div id="root"><h3>姓名:{{name}} </h3><h3>地址:{{address}}</h3></div><script>const vm = new Vue({el: '#root',data: {name: '张三',address: '北京'}})</script>

Vue如何实现数据侦听?分析:

用户输入的data配置项,执行时:

1、Vue对data进行了加工(使数据具有响应式)。
2、赋值:_data = data。

3、用户查询或修改数据时,Vue通过数据代理,间接调用的_data中get/set,从而重新解析模板,生成虚拟DOM,通过Diff算法进行新旧DOM对比,最后更新页面

模拟一个简单的对象数据侦听:

    <script>let data = {name: '张三',address: '北京'}// Observer:观察者。创建一个监视的实例对象,用于监视data中属性的变化const obs = new Observer(data)console.log(obs);// 准备一个vm实例对象let vm = {};vm._data = data = obs;function Observer(obj) {// 汇总对象中所有的属性,形成一个数组const keys = Object.keys(obj);// 遍历keys.forEach((k) => {Object.defineProperty(this, k, {get() {return obj[k]},set(val) {console.log(`${k}被改了,我要去解析模板,生成虚拟DOM,进行Diff算法比较...我要开始忙了`)obj[k] = val}})})}</script>

与Vue底层代码相比,Vue设计更为完善,添加了更多功能:

1、Vue底层添加了数据代理(vm.name、vm.address)。
2、Vue底层运用递归,给【对象】、【对象数组】里的属性、子属性、子孙属性...添加了不限层次的响应式功能的get/set(age.rAge、age.sAge...)

Vue.set的使用(向对象添加响应式属性和值)

尽管Vue底层做得很完善,但是也有不足的地方。例如:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>Vue.set的使用</title><script type="text/javascript" src="../js/vue.js"></script>
</head><body><div id="root"><h2 style="color:chocolate">学校信息</h2><h3>学校名称:{{name}}</h3><h3>学校地址:{{address}}</h3><hr><h2 style="color:chocolate">学生信息</h2><h3>姓名:{{student.name}}</h3><h3 v-if="student.sex">性别:{{student.sex}}</h3><h3>年龄:真实{{student.age.rAge}},对外{{student.age.sAge}}</h3><h3>朋友:</h3><ul><li v-for="(f,index) in student.friends" :key="index">{{f.name}}--{{f.age}}</li></ul><button @click="addStudentSex">添加学生性别</button></div>
</body>
<script>const vm = new Vue({el: '#root',data: {name: '江西师范大学',address: '南昌市瑶湖校区',student: {name: '张三',age: {rAge: 30,sAge: 18,},friends: [{ name: 'jerry', age: 35 },{ name: 'tony', age: 32 }]}},methods: {addStudentSex() {// this.$set(this.student,'sex','男'),Vue.set(this.student,'sex','男')}}})
</script></html>

直接向vm._data.student或vm.student中添加属性不具有响应式功能:

通过对Vue.set/vm.$set这类api的使用,能使得添加的对象属性具有响应式:

不能向Vue 实例,或者 Vue 实例的根数据对象添加属性:

Vue.set/vm.$set的使用

Vue.set( target, propertyName/index, value )

vm.$set( target, propertyName/index, value )
参数:
{Object | Array} target
{string | number} propertyName/index
{any} value
返回值:设置的值。

用法

向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property (比如 this.myObject.newProperty = 'hi')

注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。

http://www.dtcms.com/wzjs/230613.html

相关文章:

  • 东莞在哪里学网站建设网络营销策划模板
  • 济南网站优化推广东莞头条最新新闻
  • 叙述网站制作的流程网络推广外包怎么样
  • 沈阳网站制作定制厂家长沙靠谱的关键词优化
  • 为什么很多公司做网站建设seo外包
  • 网站源码使用数字营销软件
  • 网站备案怎么做黑龙seo网站优化
  • 中国菲律宾签证免签吗白云百度seo公司
  • 营销型网站窗口客服营销的主要目的有哪些
  • 从零学做网站郑州网络推广大包
  • wordpress搬家失败网站seo平台
  • 临安做企业网站的公司微信推广平台收费标准
  • 网站怎么做百度百科广州百度seo排名优化
  • 单位网站开发谷歌引擎搜索
  • dreamweaver8做网站百度关键词搜索引擎排名优化
  • 独立网站电子商务系统搜索引擎优化的定义是什么
  • 自己做网站好做么网络营销实践总结报告
  • 武汉网站建设需要多少钱seo查询
  • 太原自助模板建站今日热榜官网
  • 自建站搭建视频seo优化教程
  • 东莞土木建筑学会网站网络广告联盟
  • 成都电子商务网站建站深圳seo专家
  • 某网站开发工具和技术高质量发展服务业
  • 做淘宝图片的网站百度指数平台官网
  • 网站关键词几个字线上推广渠道主要有哪些
  • 做招商类型的网站百度搜索引擎广告投放
  • 查询网站是否过期站长推荐入口自动跳转
  • 动画型网站seo是怎么优化
  • 网站建设业务的途径的体会网络最有效的推广方法
  • 企业信息查询app哪个最好seo长尾快速排名