怎么更改微信小程序中app.js的“globalData属性和值”?
一般是先修改json值再setData 比如:
page({
data:{
s1:{a:"",b:"b"}
},
changeData:function(e){
var cData=this.data.s1;
cData.a="1";//先修改json值
this.setData({ //再set值
s1:cData
})
}
})
把AngularJS开发的页面迁移到微信小程序目录迁移
1、每个子模块页面换成Pages目录下的一个子目录,目录命名就是原子模块名。
2、原来的通用css、image、fonts等静态资源统一移到resource目录下,需要使用时,对于css样式文件,在对应子模块的wxss文件首部通过import命令引入;替换规则1、div需统一转换成View;2、ng-show统一转换为wx:if;
3、ng-click统一转换为bindtap;
4、ng-repeat统一用wx:for替换;
5、ng-class中的样式选择性绑定可以直接把条件绑定语句嵌入class属性;js代码模块级代码迁移:可将模块级作用域使用的通用逻辑搬到app.js中,通过app对象来引用;或者定义一个util模块,来做动态引入;对于原生与h5交互时用到的自定义事件,需要根据具体场景做处理。
子模块级代码迁移:可将Angular子模块代码直接迁移到小程序对应Page对象中,当然,对于Angular特定语法的$***对象(例如$scope、$rootscope)的操作,需要做全局替换,替换原则是:
1、$scope:与Page对象同生命周期内的$scope,可以直接替换成this;而对于非同一生命周期的(最常见的即是各种callback回调函数),需要将Page对象在方法外做引用保存(例如varself=this),然后在回调函数中使用。
2、$rootScope:推荐放入app对象中引用,或者自定义通用模块,然后动态引入;
3、数据模型:各页面中建立的数据模型,直接放入***.json文件中,如果涉及Angular特定语法的操作,可参考上述两点的做法进行替换;
4、jsonp请求:将jsonp请求统一替换成wx.request请求,只是原来的链式写法要换成参数型写法;
5、子模块间的页面跳转,$state.go统一替换成wx.navigateTo或wx.navigateBack。