WXPAGE

开源地址如下:https://github.com/tvfe/wxpage

极快的小程序打开 - 势必是用户体验的重中之重

#页面描述

A:代表全局App.js

var wxpage = require('./lib/wxpage')

wxpage.A({
config: {
route: ['test/pages/$page', '/pages/$page'],
resolvePath: function(name) {
return '/pages/' + name;
}
}, onLaunch: function(opts) {
wxpage.on('some_message', function(msg) { }) }, onAwake: function(time) { }, onShow: function() { }
})

C:代表组件

Component.C({
data: {},
created: function() {
this.$id = 1
// console.log('[Component/Header] created', this.properties, this.is)
},
attached: function() {
// console.log('[Component/Header] attached', this.properties, this.is, this.$root)
},
ready: function() {
// 调用父组件方法
this.$call('callFromComponent', 'header')
// console.log('[Component/Header] ready', this.properties, this.is)
},
methods: {
callFromComponent: function (from) {
// console.log('!!! call from:', from)
}
}
})

P:代表页面

var P = require('../lib/wxpage')

P('index', {
data: { },
onPageLaunch: function() { },
onAppLaunch: function(opts) { },
onLoad: function() { this.$preload('play?cid=456'); this.$setData({
name: 'LLLLLL'
}) this.$cache.set('cache', {
name: 'wxpage'
}) this.$session.set('session', {
name: 'wxpage'
}) setTimeout(function() {
P.emit('some_message', 'I am index!')
}, 100)
},
onReady: function() { },
onPlay: function() {
this.$route('play?cid=123')
},
onPlayNav: function() {
wx.navigateTo({
url: '/pages/play?cid=abcd'
})
},
onShow: function() { },
onAwake: function(t) { },
onClickBefore: function(e) { },
onClickAfter: function(e) {},
onTouchend: function(e) {},
onTTap: function() {},
callFromComponent: function(name) { }
})

  

我们只需要分析出它们(微信小程序原生和Wxpage)的不同之处即可

#生命周期

#生命周期
##onPageLaunch()
小程序第一次运行的时候调用,此时对应的页面并未被加载 ##onAwake(time<Number>)
小程序进入后台模式后再激活的时候触发。time是耗时 ##onAppLaunch(opts)
App.onLaunch 触发时调用。
opts:
path String 打开小程序的路径
query Object 打开小程序的query
scene Number 打开小程序的场景值 ##onAppShow(opts)
App.onShow 触发时调用。
opts:
path String 打开小程序的路径
query Object 打开小程序的query
scene Number 打开小程序的场景值 ##onPreload(res)
调用 this.$preload(url) 的时候触发,此时对应的页面并未被加载 ##onNavigate(res)
页面间跳转开始时调用,此时对应的页面并未被加载

#事件描述

#事件描述

##$name
获取当前页面名称 ##state
页面的一些状态集合(是否搜狐个被小程序启动的页面) ##session(页面级缓存)
this.$session.set('page_session_data', {
name: '首页'
}) ##缓存cache
this.$cache.set
可以设置同步或异步以及缓存时间 ##$emitter ##$route
wx.navigatorTo ##$redirect
wx.redirectTo ##$switch
wx.switchTab ##$launch
wx.reLaunch ##$back
wx.navigateBack ##$preload
提前加载页面 ##$bindRoute
点击代理方法,绑定 $onRoute 逻辑,在元素上声明 data-url 作为跳转地址,支持切面方法:
###data-before:跳转前执行
###data-after:跳转后执行
```<button
bindtap="$bindRoute"
data-url="/pages/play"
data-before="onClickBefore"
>click redirect</button>
``` ##$bindRedirect()
###data-before:跳转前执行
###data-after:跳转后执行
同 $bindRoute, 绑定 $onRedirect ##$bindSwitch()
###data-before:跳转前执行
###data-after:跳转后执行
同 $bindRoute, 绑定 $onSwitch #$on(key, handler)
监听跨页面间的消息 #$emit(key, data)
派发页面间的消息 #$off(key, handler)
取消监听消息 #$put(id, value)
指定 id 存在一份数据,可以为任何类型,以供其它逻辑获取使用 #$take(id)
根据 id 获取数据,数据只能被存在一次,获取一次。如果只存放一次,第二次获取 会得到 null 。

在使用之前,大家可以先github拉取一个test下来,运行,看看它与小程序有何不同之处进行比较

在熟悉之后,可以写一个开发似的模板,以便其调用

框架来自“腾讯视频”小程序的项目沉淀,我建议大家可以先看完github文档,随即上手!

微信小程序 - wxpage的更多相关文章

  1. 微信小程序-使用腾讯Wxpage

    微信小程序想要更快的速度吗? 满足你 https://github.com/tvfe/wxpage#-c%E5%AE%9A%E4%B9%89 使用超简单(导入wxpage.js,最后使用对象名:P): ...

  2. 【腾讯Bugly干货分享】打造“微信小程序”组件化开发框架

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2nQzsuqq7Avgs8wsRizUhw 作者:Gc ...

  3. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  4. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  5. 微信小程序(微信应用号)组件讲解

    这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...

  6. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  7. 通过微信小程序看前端

    前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...

  8. 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  9. 来自于微信小程序的一封简讯

    9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...

随机推荐

  1. The Topo to Raster tool returns errors 010235 and 010067转

    Problem: The Topo to Raster tool returns errors 010235 and 010067 Description The Topo to Raster geo ...

  2. SQL:获取中文周几

    ) = case DatePart(DW, GetDate()) then '周日' then '周一' then '周二' then '周三' then '周四' then '周五' then '周 ...

  3. python笔记34-类里面的__str__ 和__unicode__作用

    前言 最近学django,看到不少教程里面models.py里面建表,写一个类的时候,习惯上加个__str__ ,开始不太明白,简单的实践后才知道是为了美化类实例的打印内容. python3 里面用_ ...

  4. Nginx中文手冊

    下载 : Nginx 中文手冊 Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调 ...

  5. 美国谍梦第三至五季/全集The Americans迅雷下载

    本季看点:冷战间谍题材美剧,FX电视台的<美国谍梦>老派谍战剧第二季开场吸引了190万的观众.在18-49岁的目标观众群中,这部福克斯电视工作室出品的剧集有160万的收视,提高了81%.一 ...

  6. Java并发编程的艺术(一)——并发编程需要注意的问题

    并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错.若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题: 上下文切换 死锁 资源限制 接下来会逐一分析这三个 ...

  7. Android Lint简介

    Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题.Android Li ...

  8. ViewPager的简单用法+适配器+监听器的介绍

    之前的actionbar+fragment文章中写过viewpager的简单用法,但因为是融合的文章,所以今天把viewpager提取出来写了.方便查询浏览~ 思路: 1.在布局文件中设置viewpa ...

  9. osx的du以字节计算

    https://stackoverflow.com/questions/5794437/difference-in-size-shown-by-du-command-and-get-info-on-m ...

  10. spring mvc 返回乱码SpringMVC使用@ResponseBody注解返回中文字符串乱码的问题

    原文地址:https://www.cnblogs.com/fzj16888/p/5923232.html 先说一下我的经历,以及解决问题的而过程. 在使用SpringMVC的时候,最开始的时候在配置文 ...