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

小程序源码之家网站建设及优化方案

小程序源码之家,网站建设及优化方案,上海网站建设的价,2021黑帽seo前言 最近接到了一个需求#xff0c;隔壁嵌入式部门希望我们用前端解析渲染Kconfig表单。这篇文章用来记录一下本次使用hook pinia vue3的经验 hooks hooks的概念最早是在 React 中听到的#xff0c;虽然早些时间也写过一点react#xff0c;但也只是照葫芦画瓢#xf…前言 最近接到了一个需求隔壁嵌入式部门希望我们用前端解析渲染Kconfig表单。这篇文章用来记录一下本次使用hook pinia vue3的经验 hooks hooks的概念最早是在 React 中听到的虽然早些时间也写过一点react但也只是照葫芦画瓢并不得要领。比如我一直觉得所谓的hook就是像react一样使用以下语法 // react hook 写法 const [value, setValue] useValue();// vue2 普通写法 data: {value }, method: {setValue(newVal) {...} }可以看见其实原始的写法与hook的写法差距是蛮大的。 原始是在data里创建变量至于变量的更新自己在method里定义函数即可。 而hook的写法是通过 useXXX() 创建变量和变量更新的函数。 那么hook的写法到底有什么好处呢 逻辑复用、可插拔 export function useCounter() {const count ref(0);function increment() {count.value;}function decrement() {count.value--;}return {count,increment,decrement}; }上述示例中useCounter 函数用于创建一个计数器逻辑包含了一个 count 变量和两个操作函数 increment 和 decrement。可以在多个组件中使用 useCounter 函数实现逻辑的复用。 如果是原始的方式我们就必须在每个页面写 counter、increment、decrement 是一件繁琐的事情。当然我们也可以抽离但抽离到单独的文件中去引用时又会有作用域的问题导致每个页面使用的 counter 变量是同一个变量会出现新的问题。 于是不得不再提到一个实用的场景 flag 标志位 控制显示与隐藏。 // hook.ts export function useFlag(initVal: boolean) {const flag ref(initVal);function setFlag(newVal: boolean) {flag.value newVal}return {flag,setFlag}; }// 页面中使用 const { flag, setFlag } useFlag(true);在上述代码中最后在页面使用了 hook 每个页面都可以使用这个 hook 且作用域不同不会相互影响。 更易抽离逻辑更清晰 上面提到了 useFlag 的 hook 此时有一个新需求当每个组件的显隐都需要进行一些相同的逻辑判断控制显隐此时怎么办 我们可以创建一个新的 hook import { useFlag } from /hooks/useFlag import { handleDepends_on } from /utils/util;export const useDepend (data) {const { result } useStore(result);const { flag, setFlag } useFlag(true);const dependList handleDepends_on(data.depends_on);watch(result, () {// 首先置位truesetFlag(true)// 如果出现不满足则置位falsedependList.map(item {if (!result.value[item]) setFlag(false)})}, { immediate: true, deep: true })return {flag} }当 pinia 中的 result 变量变化时会触发 watch 监听函数。如果 flag 改变页面里的 flag 也会同步并更新视图。 因此只需要在每个需要逻辑判断的页面输入两行即可完成判断逻辑的复用~ import { useDepend } from /hook/useDepend; const { flag } useDepend(数据)
http://www.hkea.cn/news/14311818/

相关文章:

  • 医院网站后台管理系统登录网站制作二级网页怎么做
  • 0基础学网站设计制图平台
  • 管理系统网站模板旅游网站开发系统分析
  • 临沂网站开发公司电话怎样做网站吸引客户
  • 建设特效网站图片在线设计网站
  • 南京建设教育网站wordpress火车头插件防重复
  • 泸州免费做网站重庆百度竞价推广
  • 公司免费建网站网站排名带照片怎么做
  • 静海网站建设制作wordpress 手机版主题
  • 天马网络 网站建设网络推广方案下拉管家xiala11
  • 个人网站 做啥好wordpress如何禁用谷歌地图
  • 阿里网站制作需要多少钱机械网站 英文
  • 定制化网站门户网站开发jz190
  • 中国风网站表现佛山论坛建站模板
  • 网站是否被k网站如何做等级保护
  • 在线网站做情侣头像中国建设银行官方网站下载安装
  • 站长之家网站素材wordpress title 8211
  • 深圳专业做公司网站找公司做网站需要注意什么
  • 泉州专业建站品牌ci设计
  • 网站建设费用价格明细表wordpress如何选择对应模板
  • 网站建设服务 杭州餐厅vi设计公司
  • 龙岩建网站搭建好ftp服务器 如何通过网站访问
  • 上传文章的网站app商城开发价格
  • 遂宁市建设局网站青海西宁高端网站建设
  • 专门做房产的网站做行业网站赚钱
  • 帮人做网站犯法wordpress页面透明度
  • 小公司网络组建规划seo服务顾问
  • 定制旅游网站建设方案网站搭建中114514
  • 网站切换中英文长沙房地产开发商排名
  • 外贸网站测速辽宁网站推广的目的