为什么没有使用的 computed 属性也会被调用 getter 方法呢? #uniapp/坑#

因为你使用的是 uniapp , 而 uniapp 内部会读取计算属性然后交给微信的,这里就实际上使用了该计算属性。

你可以用微信开发者工具看一下调试器中的 AppData,里面肯定有 fullname 的值。

这里是 uniapp 的一个比较大的坑,主要是在于他会使用类似于 JSON.parse(JSON.stringify(vue组件暴露给模板的属性)) 这样的方式来将 vue 的数据同步到微信小程序的视图层(计算属性这里 uniapp 理论上可以优化掉的,但他没有做)

这里还会造成 vue 中 是 undefined 微信开发者工具那边查看到的是 null 因为 JSON 的规范中没有 undefined , 我个人的经验是这一个 造成了 uniapp 使用者相当多的困惑,但只要明白了这点就也还好。


文章分享到的地方:知乎

by 崮生 from 崮生 • 一些随笔 🎨,欢迎 赞助本文
本文欢迎分享与聚合,全文转载未经授权( 联系我)不许可。