Angular4 微信的坑

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页面

 
 
 
posted @ 2017-07-09 15:46  流失的痕迹  阅读(3610)  评论(0编辑  收藏  举报