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

网站培训费用网站开发中所需要的绘图工具

网站培训费用,网站开发中所需要的绘图工具,网址导航程序,网络传奇游戏目录 一、计算属性computed。 Vue官方提供的案例。(普通写法与计算属性写法) 使用计算属性computed重构——>简化描述响应式状态的复杂逻辑。 &#xff08;1&#xff09;计算属性computed小案例。 <1>需求说明。&#xff08;筛选原数组——>得新数组&#xff09; &…

目录

一、计算属性computed。

Vue官方提供的案例。(普通写法与计算属性写法)

使用计算属性computed重构——>简化描述响应式状态的复杂逻辑。

(1)计算属性computed小案例。

<1>需求说明。(筛选原数组——>得新数组)

<2>计算属性基本语法。

<3>代码示例。

<4>响应式依赖更新,才会重新更新计算属性。

(2)计算属性可支持getter、settter创建。(默认只读)

<1>只读计算属性。

<2>提供 getter 和 setter 创建可写计算属性。

(3)"计算属性缓存" vs "方法(函数)"。

(4)计算属性computed的最佳实践。


一、计算属性computed。

  • 官方解释:使用计算属性来描述依赖响应式状态的复杂逻辑
  • Vue官方提供的案例。(普通写法与计算属性写法)


  • 向上面必须认真看好一会儿才能明白它的计算依赖于author.books。更重要的是,如果在模板中需要不止一次这样的计算,就需要将这样的代码在模板里重复好多遍。

  • 使用计算属性computed重构——>简化描述响应式状态的复杂逻辑

(1)计算属性computed小案例。
<1>需求说明。(筛选原数组——>得新数组)


<2>计算属性基本语法。
  • const 计算属性 = computed(()=>{..return计算返回的结果..})

<3>代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"><div>原始数据:{{list}}</div><div>=================================</div><div>计算属性数据:{{computedList}}</div></div><script type="module">import { createApp, ref, computed } from './vue.esm-browser.js'createApp({setup() {const list = ref([1, 2, 3, 4, 5, 6, 7, 8])//基于list派生一个计算属性,从list中过滤出>2const computedList = computed(() => {return list.value.filter(item => item > 2)})return {list,computedList}}}).mount('#app')</script></body></html>

  • 效果如下。


<4>响应式依赖更新,才会重新更新计算属性。
  • 当响应式依赖原始数组对象list更新,计算属性会跟着动态更新
  • 代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"><div>原始数据:{{list}}</div><button @click="changeList">更新list</button><div>=================================</div><div>计算属性数据:{{computedList}}</div></div><script type="module">import { createApp, ref, computed } from './vue.esm-browser.js'createApp({setup() {const list = ref([1, 2, 3, 4, 5, 6, 7, 8])//基于list派生一个计算属性,从list中过滤出>2const computedList = computed(() => {return list.value.filter(item => item > 2)})//修改数组list的方法const changeList = () => {//点击一次按钮,添加一个666list.value.push(666)}return {list,computedList,changeList}}}).mount('#app')</script></body></html>

  • 效果如下。

(2)计算属性可支持getter、settter创建。(默认只读)
  • 官方解释。


<1>只读计算属性。
  • 代码示例。
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"><div>原始数据:{{count}}</div><div>=================================</div><div>计算属性数据:{{countComputed}}</div></div><script type="module">import { createApp, ref, computed } from './vue.esm-browser.js'createApp({setup() {const count = ref(1)const countComputed = computed(() => {return count.value + 1})return {count,countComputed}}}).mount('#app')</script></body></html>

  • 效果如下。


  • 尝试直接修改计算属性。(出现错误不生效)



<2>提供 getter 和 setter 创建可写计算属性。
  • 代码示例。(根据官方文档的语法格式书写
  • 具体的过程计算可以看注释!
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"><div>原始数据:{{count}}</div> <!-- count的计算过程:1-2=-1 --><div>=================================</div><div>计算属性数据:{{countComputed}}</div> <!-- countComputed的计算过程:1-2+1=0 --></div><script type="module">import { createApp, ref, computed } from './vue.esm-browser.js'createApp({setup() {const count = ref(1)const countComputed = computed({get() { return count.value + 1 },set(newValue) { return count.value = newValue - 2 }})countComputed.value = 1console.log('set调用:' + count.value)return {count,countComputed}}}).mount('#app')</script></body></html>

  • 效果如下。

(3)"计算属性缓存" vs "方法(函数)"。
  • 官方解释:计算属性值会基于其响应式依赖被缓存。
  • 为什么需要缓存呢?想象一下我们有一个非常耗性能的计算属性 list,需要循环一个巨大的数组并做许多计算逻辑,并且可能也有其他计算属性依赖于 list。没有缓存的话,我们会重复执行非常多次 list 的 getter,然而这实际上没有必要!如果你确定不需要缓存,那么也可以使用方法(函数)调用

  • 代码示例。(函数aaa与计算属性bbb的调用对比)
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div id="app"><div>调用1次方法(函数)aaa{{aaa()}}<br>调用2次方法(函数)aaa{{aaa()}}<br>调用3次方法(函数)aaa{{aaa()}}<div>=========================</div>调用1次计算属性{{bbb}}<br>调用2次计算属性{{bbb}}<br>调用3次计算属性{{bbb}}</div></div><script type="module">import { createApp, computed } from '/vue.esm-browser.js'createApp({setup() {const aaa = () => {console.log('aaaa函数')}const bbb = computed(() => {console.log('bbb计算属性')})return {aaa,bbb}}}).mount('#app')</script>
</body></html>

  • 效果如下。

(4)计算属性computed的最佳实践。
  • 官方解答与个人小结。

http://www.dtcms.com/a/433145.html

相关文章:

  • 购物网站建设包括哪些链天网站建设
  • 宁波建网站找哪家北京网站优化推广分析
  • 济源网站维护上海做网站较好的公司
  • 专业公司网站建设滁州网站公司
  • 枣庄建设工程管理局网站新闻列表做的最好的网站
  • 小规模公司怎么注销上海网站优化公司排名
  • 外贸网站如何做的好天蒙旅游区网络营销推广方法
  • 桓台建设局网站石家庄有哪些互联网公司
  • 张家港网站 设计制作北京二级建造师查询系统
  • 承德网站建设有限公司做电影海报在哪个网站好
  • 中国城乡住房建设部网站网站百度统计表格怎么做
  • 景区宣传网站制作模板天元建设集团有限公司六公司
  • 微信网站改版价格网站主页排版
  • 技术好的手机网站建设服务器做网站用什么系统
  • 网站建设找谁无锡网站制作工具
  • 免费用搭建网站购买网站平台如何做分录
  • 千秋网络是家西安做网站的公司成都软件公司前100强
  • 印刷报价网站源码下载网站建设项目规划书目录
  • 全国新增确诊病例广州百度首页优化
  • 鄞州区住房和城乡建设局网站河北建设厅网站上不去
  • 绵阳低价网站建设自动化毕设题目网站开发
  • 水务 网站建设叶文语 厦门建设局
  • 公司怎么注册官方网站网站开发全流程图
  • 做网站开发哪里可以接单河北 全部阳性了
  • 网站开发主要学什么价格低性能好的手机
  • 网站做进一步优化网站建设大忌
  • 深圳最好的网站开发公司电话手机网站图片 触摸 放大代码 js
  • Windows内存DC
  • 广西建设工程管理网站如何做自己的业务网站
  • 手机网站制作流程淄博网站建设制作