-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
添加更多细节 #11
Labels
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
将用户数据保存到 LeanCloud
然后打开开发者工具,把 localStorage 也清空:
然后刷新页面,页面上的数据就空了:
接下来我们有三个功能要完成:
然而老司机我思考了一下,我们好像遇到了一点问题。
我们如何判断用户没有填工作经历呢?
可以看 workHistory 这个数组的长度是否为0。也就是 workHistory: []。
但是这会造成另一个问题,用户添加工作经历的时候,我怎么知道添加的对象有哪些 key 呢?没法知道!
这说明我们的数据结构有点问题,那么我们要改造一下。
然后清空 localStorage,画面变得清爽起来:
这样一样我们就做到了「2. 如果用户啥也没填,就不要展示」。
数据冗余
回头看一下 resume
profile、workHistory、education、projects、awards、contacts 都出现在 config 里,这就是冗余。
冗余很有可能造成不一致,不一致就是 bug。所以我们需要清除冗余。
这几个属性完全可以从 config 里推导出来,所以我提交了如下代码:
这次提交里有一个重要的知识,那就是 Vue.js 无法监听新增的属性。
你讲代码里的三行注释打开,然后注释掉 Vue.set 那三行,就能看到这个「BUG」:你在 ResumeEditor 里编辑,ResumePreview 却什么反应都没有。
但是如果你使用 Vue.set,那么 ResumePreview 就有反应了。
请一定要自己重现这个 BUG!
这个 BUG 的原因是什么呢?请看文档,文档会告诉你一切:
深入响应式原理
搞懂这一点,面试时可以装逼。
继续代码:
The text was updated successfully, but these errors were encountered: