微信小程序 - wxpage

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文档,随即上手!

原文地址:https://www.cnblogs.com/cisum/p/10200230.html

时间: 2024-11-11 07:27:42

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

微信小程序-使用腾讯Wxpage

微信小程序想要更快的速度吗? 满足你 https://github.com/tvfe/wxpage#-c%E5%AE%9A%E4%B9%89 使用超简单(导入wxpage.js,最后使用对象名:P): 具体,请查看github https://github.com/tvfe/wxpage 原文地址:https://www.cnblogs.com/cisum/p/9230705.html

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

微信小程序开发初探

一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所有围绕微信的创造比如公众号都应该发挥其应有的价值. (3)用完即走的高效服务→这一点就厉害了word天,微信要打造一个以微信为中心的生态链,不以绑定用户为目标.比如生活中有一些不太常用的app,我们可能一年也使用不了几次,但是有时候就需要用到,微信就想要提供这样一个平台,让你可以在微信中使用这中所谓

微信小程序之使用本地接口开发

本文主要讲解如何使用本地接口进行开发,很多人都会遇到这个问题,特别是小程序上线后. 一.解决思路 在小程序开发工具设置网络代理,然后再通过Charles设置代理,将https域名转为本地接口进行访问. 以下示例的环境为win7 + 老版本的微信开发工具 二.准备工作 1.配置https域名 为小程序配置request合法域名,在登录公众号平台去设置. 2.安装Charles 下载地址:https://www.charlesproxy.com/download/ 三.配置Charles 1.安装根

带你入门微信小程序

认识微信小程序 2016年1月9日,TX启动小程序研发,于2017年1月9日正式发布.不同于微信订阅号或公众号,微信小程序被赋予了应用程序的能力,他是一种无需安装即可使用的应用,它实现了应用“触手可及”的梦想,用户“扫一扫”或者“搜一搜”即可打开应用:体现了“用完就走”的理念,用户不再需要关心是否安装太多应用问题.应用将无处不在,随时随地可用,无需卸载. 微信小程序相关技术 微信小程序自定义了一套语言,称为WXML微信标记语言,它的使用方法类似于HTML语言.另外,微信小程序还定义了自己的样式语

WordPress版微信小程序2.2.0版发布

2017年8月12日WordPress版微信小程序2.2.0版通过了微信的审核正式发布,此版本的更新以完善功能为主.主要更新的功能是:站内链接,猜你喜欢,热点文章. WordPress版微信小程序开放源码地址:https://github.com/iamxjb/winxin-app-watch-life.net 了解程序的开发历程及开发技术,建议看看相关版本的更新文章: 1.用微信小程序连接WordPress网站 2.WordPress版微信小程序1.5版本发布 3.WordPress版微信小程

微信小程序(5)--阅读器

最近用微信小程序写了一个图书阅读器,可以实现左右滑动翻页,按钮翻页,上下滚动,切换背景,控制字体大小.以及记住设置好的状态,如页面再次进来保留上次的背景色和字体大小. 由于暂时没有真实的数据接口,所以我用了静态数据. <!-- 文本 --> <view class="container" style="background:{{bodyColor}}"> <!-- 中间层,点击,头部底部显示 --> <view class=

微信小程序(4)--二维码窗口

微信小程序二维码窗口: <view class="btn" bindtap="powerDrawer" data-statu="open">button</view> <!--mask--> <view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if=&qu