工作笔记
1.关于vue中v-html遇到null.a的问题,很不幸,浏览器控制台并不会报错,并且会莫名其妙的阻塞渲染。在拿到后端传过来的数据最好做一个检查,有效就使用,无效的话就使用默认值吧。
2.微信分享接口将不再具有success回调以及fail回调。
3.app里面的globalData和page里的data所建立的关系并不是响应式绑定。
4.微信页面栈的问题,最多同时存在五个页面在栈中,正常情况下,navigateTo是不断将新页面入栈的,redirectTo没有变化,出一个进来一个,navigateBack是出栈的;要解决这个问题就不要设计过于复杂的页面依赖跳转关系。
5.在react的jsx表达式中使用&&的副作用,{0 && 1} 将会渲染出一个1的dom;而{null && 1}就不会了。也就是说null以及undefined并不会react转化为dom元素。
6.js的字段名陷阱,参考下面代码:
1 | let obj = {a: 2}; |
7.一个不太好找关于xtemplate和zepto结合使用时不太好找出bug的问题。问题描述:使用zepto给dom元素绑定点击事件的时候,出现的问题是点击不走自己设置的回调,而且绑定的时候还是在document.ready里面绑定的。那么这是为什么呢?肯定是dom结构还没有准备好,就进行绑定了,何况是配合xtemplate进行使用,此时document已经ready了,但是xhr可能还在loading,xhrloading好后,一部分dom才会被添加到文档流里面,此时自然在document.ready里面进行绑定的话是于事无补的。
8.如果遇到了在字体数量变多的情况下接着所导致的字体的px变大的情况,那么可以使用如下的css来修复,原因不清楚:
1 | .someDom { |
9.如果一个input设置了autofocus的话,那么很可能在第一次渲染的时候页面很容易就自动聚焦到那里了。但是如果重绘了(比如网络图片到了),那么这个自动聚焦就已经被cancel了。那么对于一种很常见的需求就是如何点击按钮,让input输入框自动聚焦并且唤起键盘呢。答案就是监听点击事件,然后focus一下,大致如下所示:
1 | let input = document.getElementById('#numberInput'); |