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

网站开发分页代码建站公司收费标准

网站开发分页代码,建站公司收费标准,网上服装商城网站代码,涿州网站建设公司项目场景: 我在项目里面封装了一个echarts组件,组件接收一个来自外部的option,然后我用了一个watch函数去监听这个option的变化,option变化之后,销毁,然后再新建一个charts表 碎碎念 问题如标题所示,这篇…

项目场景:

我在项目里面封装了一个echarts组件,组件接收一个来自外部的option,然后我用了一个watch函数去监听这个option的变化,option变化之后,销毁,然后再新建一个charts表

碎碎念

问题如标题所示,这篇文章屯了蛮久了,其实我也不太记得大概是啥问题了,但感觉解决方法挺有意思的,暂时就先记录一下吧。记得当时排查问题,这个还有个啥其他的问题,但是被我解决了,

基本上这种类似的问题,都可以通过注释或者报错定位,慢慢排查错误来源,当然浏览器debug也可以,不过我对自己的代码比较熟悉,而且层级嵌套也不深,所以一般用不到debug


解决方案:

这里提供两种方案供大家解决

方法1:watch 的第一个参数改为 ()=> props.option

type Prop = {option: EChartsOption | null;
};const props = defineProps<Prop>();const echarts = inject(myInjectionEcharts);
let mycharts;watch(() => props.option,() => {if (props.option) {window.removeEventListener("resize", mycharts.__resize);echarts.dispose(mycharts);initCharts(props.option);}},
);

方法2:将这个props用toRefs包裹之后再把option结构出来,watch 去监听这个option

type Prop = {option: EChartsOption | null;
};const props = defineProps<Prop>();
const { option } = toRefs(props);const echarts = inject(myInjectionEcharts);
let mycharts;watch(option,() => {if (props.option) {window.removeEventListener("resize", mycharts.__resize);echarts.dispose(mycharts);initCharts(props.option);}},
);

理解与排查思路

首先,我们要明确watch的使用(本来想给大家翻找一下vue3中文文档的,笑死,今天他好像崩了),

watch 的定义如下:监视一个或多个反应性数据源,并在源发生更改时调用回调函数。

他的第一个参数,只能是下面这些:

翻译来说: 1. 返回一个值的getter方法,2.ref  3. reactive 4. 由上面这几种组成的数组?

总的来说就是,他只监听响应式的数据。

而我之前的错误写法,如下:

type Prop = {option: EChartsOption | null;
};const props = defineProps<Prop>();const echarts = inject(myInjectionEcharts);
let mycharts;watch(props.option,() => {if (props.option) {window.removeEventListener("resize", mycharts.__resize);echarts.dispose(mycharts);initCharts(props.option);}},
);

这个Prop是响应式的,好像是类似reactive包裹的一个对象(有点不记得了,明天我验证一下),

而我这个props.option 这个响应式里面的对象是不带响应式的,所有可以用到如官网所示的一种方法,把他变成一个getter的写法

 而第二种则是借助到 toRefs()

toRefs() 批量处理对象中的所有属性,第一层,变成响应式
toRef() 需要传参,且只能将一个属性变成响应式

 

如官网所示,这种将响应式对象的内部熟悉变为响应式,再解构出来的方法,倒也是蛮常规的。

就是上面的方法2 。

求关注啦,求点赞啦,每次写这种解决bug的文章都没啥人愿意给我点个小赞,哭死,呜呜呜

http://www.15wanjia.com/news/165967.html

相关文章:

  • 开店做网站有什么好处深圳做网站做得比较好的公司
  • 湘潭做网站 要到磐石网络网页源代码拿到后怎么使用
  • 京东那个做快消的网站华为网站建设官网
  • 网站网站开发违法吗深圳东门属于哪个区
  • 手机免费在线搭建网站centos7删除wordpress
  • 站长之家关键词挖掘粤信签微信小程序是什么
  • 个人网站怎么注册无锡网站制作那些
  • 小学网站logo怎么做六安网站制作公司价格
  • 小程序自己做网站网站开发后端待遇
  • 在潮州哪里找做网站的网页和网站的区别和联系
  • 怎么用凡科做网站怎样免费建立自己的网站
  • 唐山网站建设自主开发专业做网站哪家正规
  • html免费模板网站网站改版的步骤
  • 网站设计论文前言怎么写注册代理记账
  • angular2是做网站的还是手机的wordpress网站使用教程
  • 义县城乡建设局网站学习做网站只学过c
  • 邢台网站设计怎么做中铁建设集团员工登录网
  • 工信部网站域名备案查询网络建设公司
  • wordpress建的网站吗手工制作大全教程
  • 广州品牌设计公司排名前十强整站关键词排名优化
  • 做网站为什么可以自学动画制作软件手机版
  • 建站宝盒免费下载青岛互联网企业
  • 电子商务网站建设讨论长沙发布app
  • 扬州建设信息网站公司变更法人债务怎么处理
  • 住房和城乡建设网站方案c 网站登录验证码怎么做
  • 平顶山公司网站建设百度上如何做优化网站
  • asp.net网站开发书籍游戏工作室招聘信息
  • 做百度网站多少钱昭通建设局网站
  • 电子商务网站搭建方案山东省建设厅的网站
  • 东营的网站建设公司搜索引擎大全排行