首先先看一下pages的目录结构吧。
我创建了一个topics页面。3个文件全创建好了之后 我往topics.js添加数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* ---topics.js----*/
 
Page({
  data:{
      topics: [
      {title:"初始angular"},
      {title:"初始ionic"},
      {title:"初始wechat"},
      ],
  }, 
  onLoad: function () {
    this.data.topics.push({title:"初始 onload "})
    console.log(this.data.topics)
  }
})
  
/* ---topics.js----*/
首先 page({})就不用说了吧 。可以把他看成一个 页面渲染的方法。里面承载我们整个数据与生命周期。这里只是用了onload
首先我 写了死数据 。这里要注意的一点就是 我们的数据一定要放在 data :{ 数据 } 下。可能是为了工整吧。。如果不这样写的话 会在wxml {{ topics }} 中找不到数据。
然后为了测试 onload 是否为初始渲染页面。我让这个数组新增一条数据。
1
2
3
4
5
6
7
/* ---topics.wxml----*/
 
<view wx:for="{{topics}}" wx:for-item="topic" >
  <text>{{index}}: {{topic.title}}</text>
</view>
  
/* ---topics.wxml----*/

这里 wx:for="{{topics}}" 循环我们data中的topics数据。 wx:for-item="topic"则是我们每个实例 。类似与forEach (如果没有wx:for-item 则默认为item.title)-

写到这里我们有了这个页面。但是毕竟没有把他映射到路由上 我们需要修改 app.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* ---app.json----*/
 
{
  "pages":[
    "pages/index/index",
    "pages/logs/logs",
    "pages/topics/topics"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor""#fff",
    "navigationBarTitleText""WeChat",
    "navigationBarTextStyle":"black"
  }
}
  
/* ---app.json----*/
我们把这个路径配置到app.json中  这样就可以通过重定向的方式 来指向这个路径了。
这个时候我稍微修改一下index.wxml (注意这只是修改某一段)
1
2
3
4
5
6
7
/* ---page/index/index.wxml----*/
 
<view bindtap="onTopics" class="usermotto">
    <text class="user-motto">{{motto}}</text>
</view>
 
/* ---page/index/index.wxml----*/

可以看到我新添加了一个 onTopics 的方法 bindtap类似与click方法

然后我在修改 一下 index.js (注意这只是修改某一段) 在page({ }) 添加一个onTopics方法
1
2
3
4
5
6
7
8
9
10
11
/* ---page/index/index.js----*/
 
page({
   onTopics : function(){
      wx.navigateTo({
        url: '../topics/topics'
      })
   }
})
 
/* ---page/index/index.js----*/
以上的跳转方式还有 wx.redirectTo 他会刷新本页面。而 wx.navigateTo 会跳转到另一个页面上是可以后退回去的。
当然 他们都是可以传值的 比如 wx.navigateTo({ url: test?id=1 })
甚至他们还有其他属性 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* ---题外讲解----*/
 
wx.navigateTo({
      url: 'String',
      success: function(res){
        // 成功后执行
      },
      fail: function() {
        // 失败后执行
      },
      complete: function() {
        // 无论成功或失败都执行
      }
    })
 
/* ---题外讲解----*/

然后。当我们点击 hello word 会跳转到页面 index.wxml上 这样也验证了 topics.js 的onload确实在数组里添加了一条数据

 
大功告成。接下来去熟悉熟悉 页面的一些 视图容器。
 
 
 
 
 

(微信小程序)二 : 创建一个页面。的更多相关文章

  1. Java 获取微信小程序二维码(可以指定小程序页面 与 动态参数)

    一.准备工作 微信公众平台接口调试工具 小程序的唯一标识(appid) 小程序的密钥(secret) 二.获取access_token 打开微信公众平台接口调试工具,在参数列表中输入小程序的appid ...

  2. 图片的URL上传至阿里云OSS操作(微信小程序二维码返回的二进制上传到OSS)

    当我们从网络中获取一个URL的图片我们要存储到本地或者是私有的云时,我们可以这样操作  把url中的图片文件下载到本地(或者上传到私有云中)  public String uploadUrlToOss ...

  3. 微信小程序左右滑动切换页面示例代码--转载

    微信小程序——左右滑动切换页面事件 微信小程序的左右滑动触屏事件,主要有三个事件:touchstart,touchmove,touchend. 这三个事件最重要的属性是pageX和pageY,表示X, ...

  4. 微信小程序(二十)-UI组件(Vant Weapp)-01按装配置

    1.官网 https://vant-contrib.gitee.io/vant-weapp/#/intro https://gitee.com/vant-contrib/vant-weapp 2.按装 ...

  5. 微信小程序获取Access_token和页面URL生成小程序码或二维码

    1.微信小程序获取Access_token: access_token具体时效看官方文档. using System; using System.Collections.Generic; using ...

  6. 微信小程序-从零开始制作一个跑步微信小程序

    来源:伯乐在线 - 王小树 链接:http://ios.jobbole.com/90603/ 点击 → 申请加入伯乐在线专栏作者 一.准备工作 1.注册一个小程序账号,得用一个没注册过公众号的邮箱注册 ...

  7. 微信小程序-二维码汇总

    小程序二维码在生活中的应用场景很多,比如营销类一物一码,扫码开门,扫码付款等...小程序二维码分两种? 1.普通链接二维码 即跟普通的网站链接生成的二维码是一个意思,这种二维码的局限性如下: 对于普通 ...

  8. php生成微信小程序二维码源码

    目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取   access_token public function getWxAccessToken(){ $appid ...

  9. 微信小程序二维码推广统计

    微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...

  10. 微信小程序开发07-列表页面怎么做

    接上文:微信小程序开发06-一个业务页面的完成 github地址:https://github.com/yexiaochai/wxdemo 我们首页功能基本完成,我对比了下实际工作中的需求,完成度有7 ...

随机推荐

  1. 网易对象存储NOS图床神器

    本文来自网易云社区 注:使用过程中有什么问题或建议欢迎到如下链接提交:http://note.youdao.com/noteshare?id=6321086fa4d7a6c003656354c1aa6 ...

  2. node.js 转载:有效

    二.安装Node.js步骤 1.下载对应你系统的Node.js版本:https://nodejs.org/en/download/2.选安装目录进行安装3.环境配置4.测试 三.前期准备 1.Node ...

  3. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  4. Ubuntu16.04实用python脚本 - JDK的配置!

    前提已经把Oracle JDK解压缩到指定目录了,我的JDK目录是:“/usr/jdk1.8.0_121” 全部脚本: # coding=utf-8 ,中文注释需要加入编码格式 #这是我的测试文件,在 ...

  5. windows测试登陆

    测试工具我使用2种(Medusa和hydra): 第一种:Medusa支持端口登录但是不支持rdp协议,意思就是可以验证密码是否正确,新用户不会创建家目录: 使用方法: medusa -M smbnt ...

  6. 基于LDAP下的Samba服务

    基于LDAP下的Samba服务 一.环境情况: 实验环境:俩台机器,分别为2012R2,安装有 AD 并作为域控制器Domain Controller(DC),同时也作为 DNS 服务器和时间服务器: ...

  7. Azure Powershell获取Azure虚拟机的操作系统型号及具体版本

    Azure ARM 模式虚拟机: 1.登陆Azure账号 Add-AzureRmAccount -EnvironmentName AzurechinaCloud 2.选择指定订阅 Select-Azu ...

  8. 2019 HEOI游记(真-退役记)

    \(\color{#00ffff}{DAY \ \ -1}\) 下午又在说无聊的注意事项,有点紧张,不想做题,只想水题233333 晚上就水了几道网络流,晚四透彻依旧,yhzr二连胜,心里倒是放松了不 ...

  9. Boost内存池使用与测试

    目录 Boost内存池使用与测试 什么是内存池 内存池的应用场景 安装 内存池的特征 无内存泄露 申请的内存数组没有被填充 任何数组内存块的位置都和使用operator new[]分配的内存块位置一致 ...

  10. Vue项目 注释模板

    此内容只适用于vscode 1.打开项目->按快捷键->ctrl+shift+p 2.选择红线选中的内容 ,如果是中文版看如下图片 如果是英文版看如下图 3.就开始进行配置 大家根据这张图 ...