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

中文域名网站 被搜索东莞网络公司电话

中文域名网站 被搜索,东莞网络公司电话,建站之星使用教程,苏州电商网站开发一、 在Vue中有多种方法为视图设置值: 使用指令直接将数据值绑定到视图使用简单的表达式对内容进行简单的转换使用过滤器对内容进行简单的转换我们还可以使用计算属性根据数据模型中的值或一组值来计算显示值。 计算属性允许我们对指定的视图,复杂的值…

一、 在Vue中有多种方法为视图设置值:

  1. 使用指令直接将数据值绑定到视图
  2. 使用简单的表达式对内容进行简单的转换
  3. 使用过滤器对内容进行简单的转换
  4. 我们还可以使用计算属性根据数据模型中的值或一组值来计算显示值。

计算属性允许我们对指定的视图,复杂的值计算。这些值将绑定到依赖项值,只在需要时更新。

一、 watch是什么?

watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它可以监控一个变量也可以是一个对象

二、 computed是什么?

computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理;
computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,
举例:总金额=价格*数量

当你想要在模板中多次引用此处的翻转字符串时,就会更加难以处理。
所以,对于任何复杂逻辑,你都应当使用计算属性。

基础用法:

<div id="example"><p>Original message: "{{ message }}"</p><p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>var vm = new Vue({el: '#example',data: {message: 'Hello'},computed: {// 计算属性的 getterreversedMessage: function () {// `this` 指向 vm 实例return this.message.split('').reverse().join('')}}
})

使用computed计算属性传参:

<p v-for="(item, index) in 4" :key="index"><span>初始值:{{item}},</span><span>{{item}}*2 = {{caculate(item)}}</span>
</p>
computed: {// 将每个传进来的值乘以2caculate () { //此处不需要携带参数return function (val) {return val*2}},
}

在这里插入图片描述
:在组件内为computed属性赋值的时候,如果没有显示的声明setter,会遇到Computed property ‘XX‘ was assigned to but it has no setter,根据控制台错误提示,组件中定义的computed属性缺少setter,需要设置get()set()方法,解决办法如下:

computed: {setting: {get() {return this.xx},set(val) {this.xx = val;}},}

二、 watch的3种用法

在vue中,使用watch来响应数据的变化。watch的用法大致有三种。下面代码是watch的一种简单的用法:

第一种:

直接写一个监听处理函数,当每次监听到 cityName 值发生改变时,执行函数

new Vue({el: '#root',data: {cityName: 'shanghai',name: ''},watch: {cityName(newName, oldName) {this.name = newName}} 
})

也可以在所监听的数据后面直接加字符串形式的方法名

new Vue({el: '#root',data: {cityName: 'shanghai',name: ''},watch: {cityName: 'nameChange'},methods() {nameChange(newName, oldName) {this.name = newName}}
})

第二种: immediatehandler

当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。

比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true。
监听的数据后面写成对象形式,包含handler方法和immediate,

new Vue({el: '#root',data: {cityName: 'shanghai',name: ''},watch: {cityName: {handler(newName, oldName) {this.name = newName},immediate: true  //子组件props首次获取父组件传值,执行函数}}
})

第三种:deep

当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,只有data中的数据才能够监听到变化,此时就需要deep属性对对象进行深度监听。

new Vue({el: '#root',data: {cityName: {id: 1, name: 'shanghai'},name: ''},watch: {cityName: {handler(newName, oldName) {this.name = newName.name},deep: true,  //监听对象immediate: true}} 
})

如果只需要监听对象中的一个属性值,则可以做以下优化:使用字符串的形式监听对象属性:

new Vue({el: '#root',data: {cityName: {id: 1, name: 'shanghai'},name: ''},watch: {'cityName.name': {handler(newName, oldName) {this.name = newName},deep: true,  //监听对象immediate: true}} 
})

数组(一维、多维)的变化不需要通过深度监听,对象数组中对象的属性变化则需要deep深度监听。

http://www.lbrq.cn/news/2700235.html

相关文章:

  • 互动网站建设怎么制作网站平台
  • php做网站怎么布局怎么在线上推广自己的产品
  • 怀化二手车网站网站怎么收录到百度
  • 德州哪里有做网站的网络营销方案的范文
  • 广东商城网站建设公司徐州seo企业
  • 宜昌市城市建设学校网站google搜索引擎
  • 江西省都昌县建设局网站网络广告人社区官网
  • 盐城做网站网络公司电话?珠海关键词优化软件
  • 设计做任务的网站武汉seo和网络推广
  • 建设网站导航怎么盈利揭阳市seo上词外包
  • 苏州企业网站制作电话新手怎么入行sem
  • discuz蓝色城市门户论坛网站模板seo关键词分析
  • 商标设计一个seo搜索优化是什么意思
  • 做关于什么内容的网站上海网站建设费用
  • 电子商城平台网站开发友情链接平台赚钱吗
  • 管廊建设网站济南优化网站关键词
  • 校园网站建设需要哪些百度网页游戏中心
  • wordpress建站需要学什么意思如何自己做推广
  • app软件网站开发seo描述是什么
  • 杭州市做外贸网站的公司美国最新消息今天 新闻
  • wordpress全站腾讯云cdn高质量外链代发
  • 做漫画网站的素材微信如何引流推广精准加人
  • 武安网站设计公司临沂森佳木业有限公司
  • 西宁网站宣传网站有哪些
  • 网站模板建站教程视频网络营销百度百科
  • 建设网站建设哪家快软文广告范文
  • 销售网站建设怎么样新手学seo
  • 做二手家电市场加什么网站可以我要学电脑哪里有短期培训班
  • 深圳网站设计首选柚米福州短视频seo获客
  • 全套商城网站后台管理系统网站管理页面西安seo黑
  • 51单片机-51单片机最小系统
  • 第十二节:粒子系统:海量点渲染
  • 量子安全新纪元:F5发布全新AI驱动的全栈式后量子加密AI安全方案
  • excel-随笔记
  • linux 执行ls命令文件夹显示全白色
  • SQL Server增加对UTF-8的支持