• computed与watch的爱恨情仇


    0 缘起

    今天做一个标签切换功能的时候,测试跟我说这玩意切换后没了。我一皱眉,怎么可能,我自己也测试了,刷新后还在啊。然后她跟我说,她是直接点了下拉框切换......

    行吧,不就是BUG嘛嗯修就完事了,于是一上午过去了......

    1 你说让我爱你不容易

    这个companyName原本有两种途径获取,第一种是点击修改,路由query丢过来,boxId有值。第二种是点击新增,根据下拉框来得到,boxId为-1。现在么,就是要根据boxId,来判断我拿哪里的值。

    boxId是从VueX里面取到的,所以我也想到把companyName扔进VueX里面,一通操作OK了。

    但是!欸,BUG总是如此多情,即使从VueX里面取了这个正确的companyName,我显示的还是空的(实际上的Undefined)。好,我来看看是computed的getter里头出了什么问题,我一看,差点被气的魂出窍,每次都拿第一位的undefined,怪不得不显示呢。更改后,更666的情况冒出来了,computed出来的companyName确实对的,但是显示不出来,欸,v-model又来折腾了!

    2 擦肩而过,谁还记得

    速度搜索了一下,果然,v-model和computed一起用会用某种奇怪的效应,就像你爱的那个人不爱你一样,既真实又残酷。所以,我最后还是采用最原始最朴实无华的使用方法,v-model+watch,虽然简单,但很有效。爱你的那个人,可能你不爱她,但她真的很爱你。

    流程大概是

    cN进来,改值->watch到了,存vueX,改变其他的对应值。

    刷新界面,有没有boxId,有拿vueX里的cN,没有就空着。

  • 相关阅读:
    课后作业 学号15100457
    开学第一课
    20180320作业2:进行代码复审训练
    20180320作业1:源代码管理工具调查
    软工作业PSP与单元测试训练
    构建之法 完成教材第一章P18第4题
    第一天上课 创建博客
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
  • 原文地址:https://www.cnblogs.com/lepanyou/p/15619227.html
Copyright © 2020-2023  润新知