怎么把AngularJS开发的页面迁移到微信小程序

怎么把AngularJS开发的页面迁移到微信小程序,第1张

把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代码

模块级代码迁移: 可将模块级作用域使用的通用逻辑搬到appjs中,通过app对象来引用;或者定义一个util模块,来做动态引入; 对于原生与h5交互时用到的自定义事件,需要根据具体场景做处理。

子模块级代码迁移:

可将Angular子模块代码直接迁移到小程序对应Page对象中,当然,对于Angular特定语法的$对象(例如$scope、$rootscope)的 *** 作,需要做全局替换,替换原则是:

1、$scope:与Page对象同生命周期内的$scope,可以直接替换成this;而对于非同一生命周期的(最常见的即是各种callback回调函数),需要将Page对象在方法外做引用保存(例如var self=this),然后在回调函数中使用。

2、$rootScope:推荐放入app对象中引用,或者自定义通用模块,然后动态引入;

3、数据模型:各页面中建立的数据模型,直接放入json文件中,如果涉及Angular特定语法的 *** 作,可参考上述两点的做法进行替换;

4、jsonp请求:将jsonp请求统一替换成wxrequest请求,只是原来的链式写法要换成参数型写法;

5、子模块间的页面跳转,$statego统一替换成wxnavigateTo或wxnavigateBack;

这个一般是你获取的节点不存在引起的。

可能出现这种情况的原因:你获取这节点时,节点还没加载,例如:你的JS写在head里面,取body里面的某一节点,这时候是取不到的。这种情况的解决方法:把JS代码放到</body>后面。

解决方案1:

$timeout(init, 0);

引用$timeout服务,异步执行JQuery的初始化代码

解决方案2:

angularelement(document)ready(function () {

//Angular breaks if this is done earlier than document ready

setupSliderPlugin();

});

在angularjs初始化视图之后执行JQuery 的绑定

我是用js打开新的窗口

1<a href=">

以上就是关于怎么把AngularJS开发的页面迁移到微信小程序全部的内容,包括:怎么把AngularJS开发的页面迁移到微信小程序、为什么给元素append的时候报Cannot read property 'appendChild' of null、angular2中怎么在一个组件的ts文件中打开新窗口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9785547.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存