wh1246935943 2018-04-22 15:56 采纳率: 0%
浏览 4230
已结题

vuejs的watch钩子函数监听一个对象,在对象被直接赋值后无法去监听。看我详细描述。

我监听了data中定义好的info对象,这是一个包含登录信息的对象,
每当我启动程序后,都会拉取本地数据库的历史登录信息,当有登录历史时,
我做了如下操作:

this.info = resp.infos[0](resp.infos[0]的结构和this.info一致,包含的字段都一样),

这个时候我监听这个info时,watch不执行,但是当我注释调这个赋值的代码后,wathc监听正常,之后我做了一个笨办法,就是分别给this.info中的字段赋值,

如:this.info.account = resp.info[0].account,

这样的处理后watch监听正常。
这个问题怎么解决,我不想逐条赋值,因为的info这个对象中有十二个字段,那样做感觉很难看。

  • 写回答

4条回答 默认 最新

  • 默默悟问 2018-04-22 16:12
    关注

    this.info = resp.infos[0]
    赋值后是对象被替换,watch的对象被释放了,当然不生效。要么赋值后你重置watch操作,要么你就只能替换info里的内容,不能把info本身替换掉。

    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法