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