微信小程序问题归纳(一)

微信小程序问题总结

小程序页面有哪些传递数据的方法?

全局变量之中传递参数数据
在跳转、重定向等转变页面时候,可以直接通过url来传送数据
通过页面栈获取到上一页面对数据进行修改
通过第三方服务器用数据库进行保存,是要使用的时候直接从数据库里面直接读取全局变量。
在使用url进行参数传递时候,传递数据有字节限制
通过wx.navaigaTo跳转到具体的页面,并传递相关联的参数数据

微信小程序主要目录和文件的作用?

  1. project.config.json 项目配置文件,做一些个性化配置,例如界面颜色、编译配置等等
  2. app.json 当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等
  3. sitemap 配置小程序及其页面是否允许被微信索引
  4. pages 里面包含一个个具体的页面
  5. wxss 页面样式,app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。
  6. app.js 小程序的逻辑
  7. js 页面逻辑
  8. json 页面配置
  9. wxml 页面结构

小程序的生命周期函数

  1. onLoad 监听页面加载,一个页面只会调用一次
  2. onShow 监听页面显示,每次打开页面都会调用
  3. onReady 监听页面初次渲染完成,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互
  4. onHide 监听页面隐藏
  5. onUnload 监听页面卸载

微信小程序原理

微信小程序采用JavaScript、WXML、WXSS三种技术进行开发,从技术讲和现有的前端开发差不多,但深入挖掘的话却又有所不同。

JavaScript:首先JavaScript的代码是运行在微信App中的,并不是运行在浏览器中,因此一些H5技术的应用,需要微信App提供对应的API支持,而这限制住了H5技术的应用,且其不能称为严格的H5,可以称其为伪H5,同理,微信提供的独有的某些API,H5也不支持或支持的不是特别好。

WXML:WXML微信自己基于XML语法开发的,因此开发时,只能使用微信提供的现有标签,HTML的标签是无法使用的。
WXSS:WXSS具有CSS的大部分特性,但并不是所有的都支持,而且支持哪些,不支持哪些并没有详细的文档。
微信的架构,是数据驱动的架构模式,它的UI和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现。

小程序分为两个部分webview和appService。其中webview主要用来展现UI,appService有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层JSBridge实现通信,实现UI的渲染、事件的处理

微信小程序的优缺点

优点:

  1. 方便快捷,即用即走。不需要在下载什么APP啦,既费流量,又占空间内存。小程序就是方便,即用即走。
  2. 速度快、不占内存因为小程序前端代码都是存在微信服务器上的,在腾讯云端存放呢,所以无需加载,直接就打 开了,速度也比较快。并且还不占用手机内存。
  3. 安全稳定、保密性强其实小程序就类似苹果商店,首先需要审核才能发布。其次小程序通信采用的是https访 SSL加密通信,并且小程序样式代码都封装在微信小程序里面,所以安全性更高,更稳定。
  4. 功能丰富,场景丰富可以调用比H5更多的手机系统功能来进行开发,例如GPS定位、录音、视上传视频、添加 图片等,能开发更丰富的使用场景。
  5. 开发成本低、维护简便同样的功能,做一个APP估计需要十几万甚至几十万,而开发一个小程序,一般几千元就 搞定了。维护起来也比较简单方便。
  6. 附近定位、入口众多开放的入口比较多,除了通过扫码,发送朋友,搜索,附近等常用入口外,还能与公众号关 联,群发文章嵌入,公众号菜单链接等。

缺点:

  1. 微信小程序只有1M的大小,这样导致无法开发大型一些的小程序。所以目前你会看到很多小程序真的很小很简单。
  2. 小程序的技术框架还不稳定,开发方法时常有修改,导致短时间内经常要升级维护。
  3. 不能跳转外链网址,所以间接影响了小程序的开放性。
  4. 不能直接分享到朋友圈,哎呀,少了一个重要的推广方式。
  5. 需要像APP一样审核上架,这点比HTML5即做即发布要麻烦些。
  6. “相对封闭”不能跳转外链网址,所以间接影响了小程序的开放性,也可能是想限制其他支付方式或功能接入。
  7. “不利于扩散”不能直接分享到朋友圈,少了一个重要的推广方式。
  8. 开发工具中模拟器显示的效果与真机显示的效果不一致,开发时无法直接在真机上运行测试,导致开发成本提高、效率下降。

小程序的双向绑定和vue的异同?

  1. 设置值:
    在vue中,只需要再表单元素上加上v-model,然后再绑定data中对应的一个值,当表单元素内容发生变化时,data中对应的值也会相应改变
    在小程序中当表单内容发生变化时,会触发表单元素上绑定的方法,然后在该方法中,通过this.setData({key:value})来将表单上的值赋值给data中的对应值。

  2. 取值:
    在vue中,通过this.reason取值;
    小程序中,通过this.data.reason取值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值