首先先看一下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. SQLServer客户端连接工具(支持2000,20005,2008)

    绿色版本, 体积小(不到2M), 支持数据库版本2000 2005 2008 界面仿最经典的SQLServer2000: 下载地址:http://download.csdn.net/detail/gg ...

  2. UWP平台Taglib编译(1)

    此文已由作者郑博授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 最近开始开发UWP平台的App,项目需要用到Taglib进行音视频文件的标签信息读写,Google并没有现成的B ...

  3. “全栈2019”Java第四十七章:继承与方法

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. CentOS6.9 minimal版本安装图形化界面

    CentOS6.9 minimal版本安装图形化界面 安装步骤如下: 1.安装Desktop组 # yum groupinstall "Desktop" -y 2.安装X Wind ...

  5. link和@import的区别是什么 ?

    1.link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务:@import属于CSS范畴,只能加载CSS. 2.link引入CSS是,在页面载入时间同时加载:@import页面网页完全 ...

  6. leecode刷题(14)-- 有效的字母异位词

    leecode刷题(14)-- 有效的字母异位词 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = " ...

  7. php从文本读入数据,处理结果再导入到文本

    1,php从文本逐行读入数据,保存到数据组.使用fopen读取文本内容,逐行读取文本是$majorId = trim(fgets($rfile, 4096));. $rfile = fopen(&qu ...

  8. ArchLinux中证书错误解决方案

    ca-certificates 更新 x509: failed to load system roots and no roots provided. curl error: Problem with ...

  9. 如何在Linux下禁用IPv6

    如何在Linux下禁用IPv6 echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6                            禁用IP ...

  10. exec和xargs

    参考:http://www.cnblogs.com/itxdm/p/5936907.html 一. 先复习下find命令 1. name参数 find -name tom 或 find -iname ...