1、不要重置对象的引用!(重置只应该在组件或服务的初始化时)
why:会使页面产生闪烁
2、不要给图片绑定一个空的值或空的图片引用(如果值从服务器异步过来,那应该在初始化时给它一个默认值)
why:会触发一个404的请求 (如:img src=http://xxxx/null)
3、页面全部使用最新的angular2写法,on-click=>(click) bind-src=>[src] bind-html=>[innerHtml]
why:可能有兼容性问题
4、写在subscribe中的代码,有些会跑出angular的作用域,导致界面没有刷新数据(实际上后台代码都正常执行过了)
why:不知道
解决:在subscribe中的函数里,this使用别名,如:
let that = this;
this.wxsdk.getLocatioObserverble().subscribe((siteInfro) => {
that.activity.province = province.replace("省", "").replace("市", "");
that.activity.city = city.replace("市", "");
that.isGetLocation = true;
...
5、angular2的route,在ios中表现和安卓不同
微信在config-SDK的时候,始终报出配置错误!所有的config使用的仍然是单页面的url(即index页面)
6、微信分享自定义内容时,链接必须是自己的,否则设置分享无效(折磨我好久)
别人总结的,摘过来,以后再看:
1.同一套程序,andriod分享正常,ios分享报签名不正确,主要原因是微信的ios和安卓处理方式不一样,ios不会刷新当前的页面地址,使用的是history的记录地址,所以每次分享出来的链接,都是第一个进入系统页面的链接,当跳转到子页面的时候,系统就会识别打开的url和签名的url不一致导致签名不正确
解决办法:如果是单页面,很好处理,直接在index页面获取一下根目录的签名,然后调试一下签名是否正确,如果是正确,那么所有页面都可以自定义分享功能了,实测有效
2.由于单页面的hash模式会自带#号,但是分享的时候会将#号后面的参数变成无效,导致想传参数都传不过去,可以做一个页面没有#号的,然后统一带参数分享到这个页面然后再重定向到指定的vue页面