2 WeChat ミニプログラム

ブログに関連した情報が必要な場合は、公開アカウント chuanye をフォローして、関連情報を入手してみてください。

2 WeChat ミニプログラム

前のリンク: 1 WeChat アプレット

1.ジャンプ

1.1 クリック イベントをラベルにバインドする
<view bindtap="clickMe" data-nid="123" data-name="SD" >点我跳转</view>
Page({
  ...
  /**
   *  点击绑定的事件
  */
  clickMe:function(e){
    var nid = e.currentTarget.dataset.nid;
    console.log(nid);
  }
})
1.2 ページジャンプ
wx.navigateTo({
	url: '/pages/redirect/redirect?id='+nid
})

ジャンプ先のページでパラメータを受け入れたい場合は、onLoad メソッドでパラメータを受け入れることができます。

リダイレクト.js

Page({
/**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
  }
})
1.3 タグ間のジャンプ
<navigator url="/pages/redirect/redirect?id=666">跳转到新页面</navigator>

2. データバインディング

<html>
	...
	
	<div id="content"></div>
	
	<script>
		var name = "李业迟到";
		$('#content').val(name);
	</script>
	
</html>
  • vue.js

    <html>
    	<div id="app">
            <div>{
         
         {message}}</div>
        </div>
    
        <script>
            new Vue({
              el: '#app',
              data: {
                message: '老男孩教育Python'
              }
            })
        </script>
    	
    </html>
    
2.1 基本的な表示
  • wxml

    <view>数据1:{
         
         {message}}</view>
    
  • 表示データ

    // pages/bind/bind.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        message:"沙雕李业",
      }
    )}
    
2.2 データ更新
  • wxml

    <view>数据2:{
         
         {message}}</view>
    
    <button bindtap="changeData">点击修改数据</button>
    
  • データを変更する

    Page({
      data: {
        message:"沙雕李业",
      },
      changeData:function(){
        // 修改数据
        this.setData({ message: "大沙雕李业"});
      }
    })
    

3. ユーザー情報の取得

方法 1
  • wxml

    <view bindtap="getUserName">获取当前用户名</view>
    
  • js

      getUserName:function(){
          
          
      	// 调用微信提供的接口获取用户信息
        wx.getUserInfo({
          
          
          success: function (res) {
          
          
            // 调用成功后触发
            console.log('success',res)
          },
          fail:function(res){
          
          
            // 调用失败后触发
            console.log('fail', res)
          }
        })
      },
    
方法 2
  • wxml

    <button open-type="getUserInfo" bindgetuserinfo="xxxx">授权登录</button>
    
  • js

     xxxx:function(){
        wx.getUserInfo({
          success: function (res) {
            // 调用成功后触发
            console.log('success', res)
          },
          fail: function (res) {
            // 调用失败后触发
            console.log('fail', res)
          }
        })
      }
    
  • wxml

    <!--pages/login/login.wxml-->
    <view>当前用户名:{
         
         {name}}</view>
    <view>
    当前头像:<image src="{
         
         {path}}" style="height:200rpx;width:200rpx;"></image>
      </view>
    <button open-type="getUserInfo" bindgetuserinfo="fetchInfo">获取信息button</button>
    
    
  • js

    // pages/login/login.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
          name:"",
          path: "/static/default.png"
      },
      fetchInfo:function(){
        var that = this;
        wx.getUserInfo({
          success:function(res){
            console.log(res);
            that.setData({
              name:res.userInfo.nickName,
              path:res.userInfo.avatarUrl
            })
          }
        })
      },
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
    
      },
    
      /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面卸载
       */
      onUnload: function () {
    
      },
    
      /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () {
    
      },
    
      /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () {
    
      },
    
      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function () {
    
      }
    })
    

    予防:

    • ユーザー情報を取得する場合は、ユーザーの承認(ボタン)を取得する必要があります。

    • 認可された

    • 承認なしで、wx.openSetting を呼び出すことにより

      // 打开配置,手动授权。
      // wx.openSetting({})
      

4. ユーザーの位置情報を取得する

  • wxml

    <view bindtap="getLocalPath">{
         
         {localPath}}</view>
    
  • js

      data: {
          localPath:"请选择位置",
      },
      getLocalPath:function(){
        var that = this;
        wx.chooseLocation({
          success: function(res) {
            that.setData({localPath:res.address});
          },
        })
      },
    

5. コマンド用

  • wxml

    <!--pages/goods/goods.wxml-->
    <text>商品列表</text>
    <view>
      <view wx:for="{
         
         {dataList}}" >{
         
         {index}} -  {
         
         {item}}</view>
      <view wx:for="{
         
         {dataList}}" wx:for-index="idx" wx:for-item="x">{
         
         {idx}} -  {
         
         {x}}</view>
    </view>
    <view>
      {
         
         {userInfo.name}}
      {
         
         {userInfo.age}}
    </view>
    <view>
      <view wx:for="{
         
         {userInfo}}">{
         
         {index}} - {
         
         {item}}</view>
    </view>
    
    
  • js

      data: {
        dataList:["白浩为","海狗","常鑫"],
        userInfo:{
          name:"alex",
          age:18
        }
      },
    

6. 写真を取得する

  • wxml

    <!--pages/publish/publish.wxml-->
    <view bindtap="uploadImage">请上传图片</view>
    <view class="container">
      <image wx:for="{
         
         {imageList}}" src="{
         
         {item}}"></image>
    </view>
    
    
  • js

      data: {
        imageList: ["/static/hg.jpg", "/static/hg.jpg"]
      },
    
      uploadImage:function(){
        var that = this;
    
        wx.chooseImage({
          count:9,
          sizeType: ['original', 'compressed'],
          sourceType: ['album', 'camera'],
          success:function(res){
            // 设置imageList,页面上图片自动修改。
            // that.setData({
            //   imageList: res.tempFilePaths
            // });
    
            // 默认图片 + 选择的图片; 
            that.setData({
              imageList: that.data.imageList.concat(res.tempFilePaths)
            });
          }
        });
      },
    

注: 現在、画像はメモリにのみアップロードされています。

要約する

  • ラベル(コンポーネント)

    • 文章
    • ビュー
    • 画像
    • ナビゲーター、他のページにジャンプします (デフォルトではタブバー以外のページにのみジャンプできます)
    • ボタン、ボタン(特殊:ユーザー情報取得時に推奨)
  • イベント

    • バインドタップ

      <view bindtap="func"></view>
      
      <view bindtap="func" data-xx="123"></view>
      
      func:function(e){
      	e.currentTarget.dataset
      }
      
  • API

    • navigateTo: 現在のページを保持し、アプリケーション内のページにジャンプします。ただし、タブバーページにジャンプすることはできません。元のページに戻るには、wx.navigateBack を使用します。ミニ プログラムのページ スタックには、最大 10 レベルを含めることができます。

      wx.navigateTo({
      	url: '/pages/redirect/redirect?id='+nid,
      })
      
    • openSetting: クライアントアプレット設定インターフェースを呼び出し、ユーザーが設定した操作結果を返します。

      wx.openSetting({})
      
    • getUserInfo: ユーザー情報を取得します。

       wx.getUserInfo({
            success:function(res){
              console.log(res);
            }
          })
      
      注意:结合button按钮实现
      
    • chooseLocation: マップを開いて場所を選択します。

      wx.chooseLocation({
            success: function(res) {
              
            },
          })
      
    • 画像を選択: ローカル アルバムから画像を選択するか、カメラを使用して写真を撮ります。

      wx.chooseImage({
            count:9,
            sizeType: ['original', 'compressed'],
            sourceType: ['album', 'camera'],
            success:function(res){
              
            }
          });
      
  • データバインディング

  • 命令用
    注: setData + that

おすすめ

転載: blog.csdn.net/hellow_xqs/article/details/135352049