把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对象在方法外做引用保存(例如varself=this),然后在回调函数中使用。2、$rootScope:推荐放入app对象中引用,或者自定义通用模块,然后动态引入;3、数据模型:各页面中建立的数据模型,直接放入json文件中,如果涉及Angular特定语法的 *** 作,可参考上述两点的做法进行替换;4、jsonp请求:将jsonp请求统一替换成wxrequest请求,只是原来的链式写法要换成参数型写法;5、子模块间的页面跳转,$statego统一替换成wxnavigateTo或wxnavigateBack;
1、改颜色
<Radio color='#FF7464'></Radio>
2、改大小
<Radio style={{transform:'scale(08)'}} color='#FF7464'></Radio>
color可直接改变选中后的颜色
transform即放大或者缩小
一般是先修改json值再setData 比如:
page({
data:{
s1:{a:"",b:"b"}
},
changeData:function(e){
var cData=thisdatas1;
cDataa="1";//先修改json值
thissetData({ //再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代码模块级代码迁移:可将模块级作用域使用的通用逻辑搬到appjs中,通过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请求统一替换成wxrequest请求,只是原来的链式写法要换成参数型写法;
5、子模块间的页面跳转,$statego统一替换成wxnavigateTo或wxnavigateBack。
resdatagoodsDetaildetail = resdatagoodsDetaildetailreplace(/<p([\s\w"=\/\:;]+)((:(style="[^"]+")))/ig, '<p')
replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
replace(/<img([\s\w"-=\/\:;]+)((:(height="[^"]+")))/ig, '<img$1')
replace(/<img([\s\w"-=\/\:;]+)((:(width="[^"]+")))/ig, '<img$1')
replace(/<img([\s\w"-=\/\:;]+)((:(style="[^"]+")))/ig, '<img$1')
replace(/<img([\s\w"-=\/\:;]+)((:(alt="[^"]+")))/ig, '<img$1')
replace(/<img([\s\w"-=\/\:;]+)/ig, '<img style="width: 100%;" $1');
在视频中已经说过了,小程序的设计思想和原生app的设计思想颇为相似,基本的应用单元为页面。当然对于一个页面来说每一个元素的放置位置在哪儿以及显示成什么样子这个是由 样式来决定的 。我们知道在web开发中样式是在css文件中规定的,叫做层叠样式表 (Cascading Style Sheets)。其实在APP中样式的约束也是使用css,在支付宝小程序中也是使用css不过文件的后缀是acss而且对css3进行了扩充而已。
那么在支付宝小程序中的acss和微信小程序中的wxcss没有什么两样。 上边已经说了acss其实包含了css3那么它还有一些新的特性是css3中不具备的,让我们一一看看
第一次看到这个东西也能猜到他是干什么用的。在css中我们知道规定大小一般使用像素(px)这个单位。比如显示生活中我们说房子128㎡那这儿的单位是平方米,在开发中需要更加精准的大小就是px像素。像素就非常精细了因为在我们显示屏幕中像素是最小的显示单元。这个道理如果不懂的话就找个LED屏幕仔细看,LED屏幕上一个一个的发光二极管可以想象为像素。
我们知道手机屏幕有大有小,就拿iPhone来说,iPhone 6 plus比iPhone 5要大。那么就说明plus的像素比5要多。对比:
加入有一个160px宽度的红色矩形在这两种手机中的位置如下:
rpx(responsive pixel)可以根据屏幕宽度进行自适应。如何自适应呢?看下边的分析:
看下图:
在模块化开发中我们有时候不得不在页面中使用其他的第三方库的样式,而第三方库的样式是保存在第三方包中的,我们不可能全部复制到我们的acss文件中,那最好的办法就是导入了。在样式表中导入其他外联样式表。
当然仍旧支持内联样式和class属性制定样式类,如
选择器和css3的保持一致。一般有class=”test”类选择器和id=”test”的id选择器。当然在支付宝小程序的样式中特殊的地方就是:
※ a- 或者 am-为前缀的选择器已经被系统占用所以不要使用;
※ 不能使用属性选择器,例如,以下写法不被支持:
我之前说过小程序开发的应用单元为页面。其实我们在axml中写的页面并不包含页面容器,就相当于我们做一个页面但是body标签不用写那如果我们要改变整个页面的背景怎么办呢其实有一个固定的选择器。例如:
可以通过 page 元素选择器来设置页面容器的样式,比如页面背景色:
在你想改变页面容器的页面中定义该样式也可以,全局定义也可以,例如我想将test这个页面的页面容器背景设置为蓝色,就可以再pages目录下的test目录下找到testacss在其中定义page的样式
下节是视图层讲解,如果有任何问题可以再下方给我留言或者发邮件到 weiyongqiang@weiyongqiangcom 我在收到邮件后会回复。
基于微信小程序轻快的特点,我们拟定了小程序界面设计指南和建议。设计指南建立在充分尊重用户知情权与 *** 作权的基础之上。旨在微信生态体系内,建立友好、高效、一致的用户体验,同时最大程度适应和支持不同需求,实现用户与小程序服务方的共赢。
为了避免用户在微信中使用小程序服务时,注意力被周围复杂环境干扰,小程序在设计时应该注意减少无关的设计元素对用户目标的干扰,礼貌地向用户展示程序提供的服务,友好地引导用户进行 *** 作。
每个页面都应有明确的重点,以便于用户每进入一个新页面的时候都能快速地理解页面内容。在确定了重点的前提下,应尽量避免页面上出现其它与用户的决策和 *** 作无关的干扰因素。
此页面的主题是查询,却添加了诸多与查询不相关的业务入口,与用户的目标无关,易造成用户的迷失。
去掉任何与用户目标不相关的内容,明确页面主题,在技术和页面控件允许的前提下提供有助于用户决策和 *** 作的帮助内容,比如最近搜索词等。
*** 作没有主次,让用户无从选择。
首先要避免并列过多 *** 作让用户选择,在不得不并列多个 *** 作时,需区分 *** 作主次,减轻用户的选择难度。
为了让用户顺畅地使用页面,在用户进行某一个 *** 作流程时,应避免出现用户目标流程之外的内容而打断用户。
用户本打算进行搜索,在进入页面时却被突如其来的模态抽奖框所打断;对于抽奖没有兴趣的用户是非常不友好的干扰;而即便有部分用户确实被“诱人”的抽奖活动所吸引,离开主流程去抽奖之后可能就遗忘了原本的目标,进而失去了对产品真正价值的利用和认识。
一旦用户进入我们的小程序页面,我们就有责任和义务清晰明确地告知用户身在何处、又可以往何处去,确保用户在页面中游刃有余地穿梭而不迷路,这样才能为用户提供安全且愉悦的使用体验。
导航明确,来去自如
导航是确保用户在网页中浏览跳转时不迷路的最关键因素。导航需要告诉用户,当前在哪,可以去哪,如何回去等问题。首先在微信系统内的所有小程序的全部页面,均会自带有微信提供的导航栏,统一解决当前在哪,如何回去的问题。在微信层级导航保持体验一致,有助于用户在微信内形成统一的体验和交互认知,无需在各小程序和其他微信页面的切换中新增学习成本或改变使用习惯。
微信导航栏
微信导航栏,直接继承于客户端,除导航栏颜色之外,开发者无需亦不可对其中的内容进行自定义。但开发者需要规定小程序各个页面的跳转关系,让导航系统能够以合理的方式工作。
微信导航栏分为导航区域、标题区域以及 *** 作区域。其中导航区控制程序页面进程。目前导航栏分深浅两种基本配色。
导航区(iOS)
微信进入小程序的第一个页面,导航区通常只有一个 *** 作——“返回”,即返回进入小程序前的微信页面。进入小程序后的次级页面,导航区的 *** 作为——“返回”和“关闭”。“返回”,即返回上一级小程序界面或微信界面。“关闭”,即在当前界面直接退出小程序,回到进入小程序前的微信页面。
导航区(Android)
导航区仅存在唯一 *** 作——直接退出小程序,回到进入小程序前的微信或系统桌面,安卓手机自带的硬件返回键执行返回上一级页面的 *** 作。
安卓导航存在一类特殊情况:当用户通过 *** 作区的菜单将小程序添加至安卓桌面,并从安卓桌面打开小程序时,小程序的首页,不展示导航按钮。仅展示小程序标题和 *** 作区。小程序次级页面,导航区只有返回上一级页面的 *** 作,而点击安卓手机自带的硬件返回键也起到相同作用。
微信导航栏自定义颜色规则(iOS和Android)
小程序导航栏支持基本的背景颜色自定义功能,选择的颜色需要在满足可用性前提下,和谐搭配微信提供的两套主导航栏图标。建议参考以下选色效果:
选色方案示例
页面内导航
开发者可根据自身功能设计需要在页面内添加自有导航。并保持不同页面间导航一致。但是受限于手机屏幕尺寸的限制,小程序页面的导航应尽量简单,若仅为一般线性浏览的页面建议仅使用微信导航栏即可。
开发者可选择小程序页面添加标签分页(Tab)导航。标签分页栏可固定在页面顶部或者底部,便于用户在不同的分页间做切换。标签数量不得少于2个,最多不得超过5个,为确保点击区域,建议标签数量不超过4项。一个页面也不应出现一组以上的标签分页栏。
其中小程序首页可选择微信提供的原生底部标签分页样式,该样式仅供小程序首页使用。开发时可自定义图标样式、标签文案以及文案颜色等,具体设置项如图标尺寸等参考可参考开发文档和WeUI基础控件库。
顶部标签分页栏颜色可自定义。在自定义颜色选择中,务必注意保持分页栏标签的可用性、可视性和可 *** 作性。
减少等待,反馈及时
页面的过长时间的等待会引起用户的不良情绪,使用微信小程序项目提供的技术已能很大程度缩短等待时间。即便如此,当不可避免的出现了加载和等待的时候,需要予以及时的反馈以舒缓用户等待的不良情绪。
启动页加载
小程序启动页是小程序在微信内一定程度上展现品牌特征的页面之一。本页面将突出展示小程序品牌特征和加载状态。启动页除品牌标志(Logo)展示外,页面上的其他所有元素如加载进度指示,均由微信统一提供且不能更改,无需开发者开发。
页面下拉刷新加载
在微信小程序内,微信提供标准的页面下拉刷新加载能力和样式,开发者无需自行开发。
微信下拉刷新错误使用案例
请避免以下错误使用情况,确保信息的可见性和页面的可用性。
页面内加载反馈
开发者可在小程序里自定义页面内容的加载样式。建议不管是使用在局部还是全局加载,自定义加载样式都应该尽可能简洁,并使用简单动画告知用户加载过程。开发者也可以使用微信提供的,统一的页面加载样式,如图中例所示。
模态的加载样式将覆盖整个页面的,由于无法明确告知具体加载的位置或内容将可能引起用户的焦虑感,因此应谨慎使用。除了在某些全局性 *** 作下不要使用模态的加载。
局部加载反馈
局部加载反馈即只在触发加载的页面局部进行反馈,这样的反馈机制更加有针对性,页面跳动小,是微信推荐的反馈方式。例如:
加载反馈注意事项
若载入时间较长,应提供取消 *** 作,并使用进度条显示载入的进度。
载入过程中,应保持动画效果;无动画效果的加载很容易让人产生该界面已经卡死的错觉。
不要在同一个页面同时使用超过1个加载动画。
除了在用户等待的过程中需予以及时反馈外,对 *** 作的结果也需要予以明确反馈。根据实际情况,可选择不同的结果反馈样式。对于页面局部的 *** 作,可在 *** 作区域予以直接反馈,对于页面级 *** 作结果,可使用d出式提示(Toast)、模态对话框或结果页面展示。
页面局部 *** 作结果反馈
对于页面局部的 *** 作,可在 *** 作区域予以直接反馈,例如点击多选控件前后。对于常用控件,微信设计中心将提供控件库,其中的控件都已提供完整 *** 作反馈。
页面全局 *** 作结果——d出式提示(Toast)
d出式提示(Toast)适用于轻量级的成功提示,15秒后自动消失,并不打断流程,对用户影响较小,适用于不需要强调的 *** 作提醒,例如成功提示。特别注意该形式不适用于错误提示,因为错误提示需明确告知用户,因而不适合使用一闪而过的d出式提示。
页面全局 *** 作结果——模态对话框
对于需要用户明确知晓的 *** 作结果状态可通过模态对话框来提示,并可附带下一步 *** 作指引。
页面全局 *** 作结果—结果页
对于 *** 作结果已经是当前流程的终结的情况,可使用 *** 作结果页来反馈。这种方式最为强烈和明确的告知用户 *** 作已经完成,并可根据实际情况给出下一步 *** 作的指引。
异常可控,有路可退
在设计任何的任务和流程时,异常状态和流程往往容易被忽略,而这些异常场景往往是用户最为沮丧和需要帮助的时候,因此需要格外注意异常状态的设计,在出现异常时予以用户必要的状态提示,并告知解决方案,使其有路可退。
要杜绝异常状态下,用户莫名其妙又无处可去,停滞在某一个页面的情况。上文中所提到的模态对话框和结果页面都可作为异常状态的提醒方式。除此之外,在表单页面中尤其是表单项较多的页面中,还应明确指出出错项目,以便用户修改。
异常状态——表单出错
表单报错,在表单顶部告知错误原因,并标识出错误字段提示用户修改。
从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指 *** 作的准确性却大大不如键盘鼠标精确。为了适应这个变化,需要开发者在设计过程中充分利用手机特性,让用户便捷优雅的 *** 控界面。
由于手机键盘区域小且密集,输入困难的同时还易引起输入错误,因此在设计小程序页面时因尽量减少用户输入,利用现有接口或其他一些易于 *** 作的选择控件来改善用户输入的体验。
例中,在添加yhk时,采用摄像头识别接口来帮助用户输入。除此之外微信团队还对外开放例如地理位置接口等多种微信小程序接口,充分利用这些接口将大大提高用户输入的效率和准确性,进而优化体验。
除了利用接口外,在不得不让用户进行手动输入时,应尽量让用户做选择而不是键盘输入。一方面,回忆易于记忆,让用户在有限的选项中做选择通常来说是容易于完全靠记忆输入;另一方面,仍然是考虑到手机键盘密集的单键输入极易造成输入错误。例如图中,在用户搜索时提供搜索历史快捷选项将帮助用户快速进行搜索,而减少或避免不必要是键盘输入。
避免误 *** 作
因为在手机上我们通过手指触摸屏幕来 *** 控界面,手指的点击精确度远不如鼠标,因此在设计页面上需点击的控件时,需要充分考虑到其热区面积,避免由于可点击区域过小或过于密集而造成误 *** 作。当简单的将原本在电脑屏幕上使用的界面不做任何适配直接移植到手机上时,往往就容易出现这样的问题。由于手机屏幕分辨率各不相同,因此最适宜点击像素尺寸也不完全一致,但换算成物理尺寸后大致是在7mm-9mm之间。在微信提供的标准组件库中,各种控件元素均已考虑到了页面点击效果以及不同屏幕的适配,因此再次推荐使用或模仿标准控件尺寸进行设计。
利用接口提升性能
微信设计中心已推出了一套网页标准控件库,包括sketch设计控件库和Photoshop设计控件库,后续还将完善小程序组件,这些控件都已充分考虑了移动端页面的特点,能够保证其在移动端页面上的可用性和 *** 作性能;同时微信开发团队也在不断完善和扩充微信小程序接口,并提供微信公共库,利用这些资源不但能够为用户提供更加快捷的服务,而且对页面性能的提高有极大作用,无形之中提升了用户体验。
除了以上所提到的种种原则,建议接入微信的小程序还应该时刻注意不同页面间的统一性和延续性,在不同的页面尽量使用一致的控件和交互方式。
统一的页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不适感。正因如此,小程序可根据需要使用微信提供的标准控件,以达到统一稳定的目的。
微信内字体的使用与所运行的系统字体保持一致,常用字号为20,18,17,16,1413,11(pt),使用场景具体如下:
主内容Black黑色,次要内容Grey灰色;时间戳与表单缺省值Light灰色;大段的说明内容而且属于主要内容用Semi黑。
蓝色为链接用色,绿色为完成字样色,红色为出错用色Press与Disable状态分别降低透明度为20%与10%。
微信小程序(下面简称小程序)近些月来刷爆了我们这些程序猿们的圈子,可以说无数的程序猿磨刀霍霍,准备在这快蛋糕上杀出一片天地。那么作为前端开发人员,小程序开发和我们平常的开发有什么不同的地方呢?让我们一起来走进门里看看。 我们从下面几个方向来了解一下小程序的开发: 1/debug/wxadoc/dev/framework/structure/debug/wxadoc/dev/devtools/download/debug/wxadoc/dev/component/t=20161107) 组件的用法和标签一样,比如view组件< view>< / view>、text组件< text>< /view>。从写法上看起来和标签写法没什么区别,但是这些组件和标签最大的区别就是,组件本身设置了样式,比如icon组件: <view class="group"> <block wx:for="{{iconSize}}"> <icon type="success" size="{{item}}"></icon> </block> </view> 我们只需要使用icon组件,不需要去自己设置样式就可以得到对应的icon样式。 在日常小程序开发中,比较常用的组件有view和text,其中用的最多的就是view,view本身并没有默认太多的样式,只有一个display:block样式,所以在我看来view就类似于div,我们也就把它当作div来使用就行了,然后你就会发现布局的时候到处都是view~,就像下图: 满眼全是view这种写法不需要像html一样考虑语义、seo神马的,非常的简单粗暴~。 额外提一下text组件,text拥有view所没有的一个特性就是text组件内的文本可以被复制、可以被复制、可以被复制(重要的事情说三遍~)。如果你希望某段文本可以被复制,那么你只能使用text组件。同时需要注意的一点,text组件内部不能嵌套view组件!嵌套无效! 2/debug/wxadoc/dev/framework/view/wxsshtmlt=20161107 二、JS差异 虽然小程序的交互采用的是js的语法,但是最大的变化就在于小程序无法使用选择器获取到页面的某个'dom'(应该不叫dom),这也是我们前端人员需要思路转变的地方,以往我们习惯于获取某个dom,然后这个dom上绑定各种事件,同时对页面进行一些改变 *** 作,但是小程序并没有提供这种我们习惯的方法。 不能获取dom,也不能直接 *** 作dom,那我们该怎么写呢? 1 bind 和 catch bind和catch的作用从字面意思就可以大致猜出是用来绑定某些东西的,没错,这是小程序提供绑定事件的两个方法,而他们的区别在于bind不阻止冒泡,而catch阻止冒泡。小程序不提供获取dom的 *** 作,而是让我们直接将事件绑定写入到组件内,如下代码: <view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view> 看到这大家可能发现了bind后面跟着一个tap,这个tap是什么东东? 2 tap tap其实就是一个事件,你可以理解为click,不过在手机端叫做tap,其它的事件还有:touchstart、touchmove、touchcancel、touchend、longtap。 bindtap=”tapName”组合起来就是绑定个tap事件,tapName则是对应的方法名,在这里需要注意一点,调用方法时不能够使用tapName(“txt”)这种形式来传参,小程序不支持。那么如果我们想要给方法传递一些参数该怎么做呢?接着往下看。 3event 我们先看一段代码: Page({ tapName: function(event) { consolelog(event) } }) 打印出来的结果: { "type":"tap", "timeStamp":895, "target": { "id": "tapTest", "dataset": { "hi":"WeChat" } }, "currentTarget": { "id": "tapTest", "dataset": { "hi":"WeChat" } }, "detail": { "x":53, "y":14 }, "touches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14 }], "changedTouches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14 }] } 看到这么一堆东西大家可能有点晕,没事,我们来捋一捋。这个event想来大家应该明白是什么,event包含了目标对象的相关信息。那意味着,我们只要去修改目标对象的相关信息,就可以给tapName方法传输参数了。 那么如何修改目标对象的相关信息呢?在这之前我们必须要先了解下currentTarget和target两个属性,前者是绑定事件的组件,后者是触发事件的组件源。理解清楚这两个属性很重要!如果是上面例子这种情况,只有一个view组件,那么这两个属性的值没什么区别,但是如果换成下面的这个例子,就不一样了: <view id="tap1" data-hi="绑定组件" bindtap="tapName"> <view id="tap2" data-hi="触发组件源"></view> </view> 我们再输出看看(为了方便对比,只保留下currentTarget和target两个属性): { "target": { "id": "tap2", "dataset": { "hi":"触发组件源" } }, "currentTarget": { "id": "tap1", "dataset": { "hi":"绑定组件" } } } 通过这个例子就可以很清楚的发现,currentTarget对应的就是外层绑定了tapName方法的view组件,而target对应的则是内部的view组件。 通过两个例子,相信大家也注意到了两个属性,data-hi和dataset,这两个属性有什么关系呢?大家应该猜到了,dataset的值其实就是我们设置的data-xxx的值,而xxx则是dataset里面的key。大家对于data-xxx的写法应该不陌生,就是html中常见的自定义属性的写法,而在小程序中,则被用来传参。 4 改变样式 前面就提到了小程序并不提供获取和 *** 作dom的能力,这就又带来了一个问题,我们如何去动态的改变样式呢?我们先看下例子: <view class="container" style="overflow: {{screenType'hidden':'scroll-y'}}" bindtap="bindType"> Page({ data: { screenType: '' }, bindType: function(){ thissetData({ screenType: '1' }) } })</view> 大家是不是有点明白了呢,我们没有办法直接获取dom然后去改变他的样式,所以我们只能通过data里的属性来控制样式的变化,如上面的代码,overflow的值取决于screenType的值是否存在,如果存在,则overflow: hidden,反之overflow: scroll-y;那么我们只需要改变screenType的值。要改变screenType的值也简单了,小程序提供了thissetData方法,可以设置data内的值。 四、其它 最后提一下我们熟悉的ajax请求,在小程序里,它不叫ajax,而叫做wxrequest。用法和ajax没什么区别,唯一需要特别注意的是,请求必须是>
以上就是关于求教怎么更改微信小程序中app.js的 globalData 属性,值全部的内容,包括:求教怎么更改微信小程序中app.js的 globalData 属性,值、Taro或者微信小程序修改组件radio的样式、怎么更改微信小程序中app.js的“globalData属性和值”等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)