zoukankan      html  css  js  c++  java
  • 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,没有就空着。

  • 相关阅读:
    ICPC 2017 Japan Domestic --Making Lunch Boxes(位运算枚举)
    ssr安装
    大作业信息汇总
    知识点1-3:MVC设计模式
    演练2-2:Guestbook示例应用程序
    知识点2-2:认识默认项目模板
    演练2-1:创建MVC默认项目
    知识点2-1:设置开发环境
    知识点1-4:ASP.NET MVC的好处
    知识点1-1:什么是ASP.NET MVC
  • 原文地址:https://www.cnblogs.com/lepanyou/p/15619227.html
Copyright © 2011-2022 走看看