饥人谷技术博客

微信小程序基本语法

2020-03-06  本文已影响0人  PingerL

一、简单介绍

  1. 小程序不是运行在浏览器中,所以没有 DOM 和 BOM 对象
  2. 小程序的 JS 有一些额外的成员
  1. 小程序的 JS 是支持 commonJS 规范的

二、界面层的数据绑定

WXML 中的动态数据均来自对应 Page 页 .js 文件中的 data

  1. 简单绑定 {{ }}
在 .wxml 文件中
<text> {{ msg }} </text>
<view class="{{ viewname }}"> </view>

在 .js 文件中
Page({
  data: {
      msg:'这是一条信息',
      viewname:'item'
  }
})
  1. 当语法解析误解了 true/false,可使用 {{ }}解决
  <checkbox checked = "{{ false }}"> </check>
  1. 列表渲染
<view wx:for=" {{ todos }} " wx:for-item="aaa">
    <checkbox checked=" {{item.completed}} "> </checkbox>
    <text> {{ item.name }} </text>
    <text> {{ index }} </text>
</view>
  1. 界面层的事件冒泡
.js 中
Page({
  tapHandle(e){
    // 1. e.target拿到的就是点击的元素
    // 2. dataset 指的是元素上所有以 data- 开头的属性集合
     console.log(e.target.dataset)
  }
})
.wxml 中
<button bindtap=" tapHandle " data-name = " Jack">点我 </button>
  1. 单向数据流
.wxml 中
<input  bindinput="inputHandle"/>
<text> {{ msg}} </text>
.js中
Page({
   data: {
      msg:'initial'
    },
   inputHandle: function(e){
      this.setData({
          msg: e.detail.value
      })
    }
})

三、小程序 页面间的跳转和传值

第一种:组件方式

  1. 页面间跳转(导航)
<navigator url="../demo/demo"> Go to Demo </navigator>
  1. 页面间传值,接收页面传递的参数,要结合 JS 脚本
<navigator url="../demo/demo?name=Pinger> Pinger </navigator>
// .js 文件中
onLoad:function( options ){
    console.log(options)
}

总结:
1). 传递:在跳转链接上加 ?要传递的参数,类似于?username=Jack,传多个参数的话就用 &符号来连接 ?name=jack&password=1234
2). 接收:onload的第一个参数options,是一个对象,里面包含了页面传递过来的所有参数
第二种: API方式

<button primary bindtap="tapHandle"> 跳转过去</button>
// .js 文件
Page({
  tapHandle(){
     wx.navigateTo({
        url:'../demo/demo?id=123'
    })
  }
})

四、小程序中发送 HTTP 请求

onLoad:function(options){
  wx.request({
      url:'https://api.douban.com/v2/movie',
      header: {
          Content-Type: 'json'
      },
      success:function(res){
          console.log(res)
      }
  })
}

五、待续

上一篇下一篇

猜你喜欢

热点阅读