栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

第 001 期 聚集零散业务代码的解决方案

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第 001 期 聚集零散业务代码的解决方案

用 Vue 时,常出现相关业务逻辑代码散在 data, methods, watch, computed 和 mounted 等地方。这样的代码可维护性差。查找或更改这块逻辑时,都要找多个地方。

解决方案

Vue 3 新出的 Composition API 可以优雅的聚集零散业务代码。 Composition API 通过 ref,reactive,watch,computed, onMounted 等这些可调用的函数,来聚集代码。

我们来看个 Demo。实现一个计数器,支持按加,减按钮来改数字,改数字时,要将新的值传给服务器端。

常规写法:




业务逻辑代码散在 data,watch 和 methods 里。

用 Composition API 写,可以将业务代码聚集在一处。Composition API 和 常规写法的 DOM 结构没有变化,只有 js 有变化。如下:


为了方便计数器逻辑的复用,可以抽象成一个函数:

import {ref, watch} from 'vue'

export default function useCount(initValue = 1, onChange) {
const count = ref(initValue)

const setCount = (value) => {
  count.value = value
}

watch(count, newValue => onChange(newValue))

const increase = () => setCount(count.value + 1)
const decrease = () => setCount(count.value - 1)

return {
  count,
  increase,
  decrease
}

使用:


代码是不是变得很内聚,用 Composition API 来重构零散的代码吧~

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号