1. 程式人生 > >小程序經驗

小程序經驗

mrr 復制一行 生命周期 復制 obb 使用方法 lzw 方式 any

1:在app.json中配置page之後保存就可直接生成wxml,wxss,js,json文件 2:引入文件的方法: 引入 css 文件 : @import "../template/tabbar.wxss"; js引入js : import js from ‘../../js/js.js’ || var js = require(‘../../js/js.js‘) xml 引入xml <import src = ‘../wxml.wxml’ 3: 計算文字的長度 text.length * textSize 4:快捷鍵 1: opt + shift + f : 代碼格式化 2: cmd + [, cmd+ ]代碼行縮進 3: cmd + shift + [, cmd + shift +] 折疊打開代碼塊 4: cmd + /shift + return 在當前行的 上方/下方 插入一行 5: shift + alt + up/dow, 向上向下復制一行 6: alt + up/dow 上下移動一行 7: cmd + i 選中當前行 8: cmd + s保存 9: cmd + return 移動到文件結尾 5:定時執行
setInterval(this.run, 1000)
6:註意 App() 必須在 app.js 中註冊,且不能註冊多個。 不要在定義於 App() 內的函數中調用 getApp() ,使用 this 就可以拿到 app 實例。 不要在 onLaunch 的時候調用 getCurrentPage(),此時 page 還沒有生成。 通過 getApp() 獲取實例之後,不要私自調用生命周期函數。 註意json文件不可添加任何註釋。 7: 獲取頁面棧 用:getCurrentPages() 可以拿到頁面棧,第一個元素為首頁,最後一個元素為當前頁面。 8: 播放音樂 wx.playBackgroundAudio({ dataUrl: data.songs[0].mp3Url, title: data.songs[0].name, coverImgUrl: data.songs[0].album.blurPicUrl }) 9:JavaScript 中的相等性判斷
  • 嚴格相等,使用 ===
  • (非嚴格)相等,使用 ==
一: 參數傳值的方法 1: data-id 我們可以給HTML元素添加data-*屬性來傳遞我們需要的值,使用方法說明: (1)設置data-id
1 <view class="block" bindtap="playTap" data-id="{{modle.id}}">
(2): 取值 + 傳值?
1 2 3 4 5 6 7 playTap:function(e) { const dataset = e.currentTarget.dataset; wx.navigateTo({ url: ‘../play/index?id=‘+ dataset.id }) console.log(dataset.id); }
(3):取值
1 2 3 4 5 6 onLoad:function (param) { //頁面初始化 this.setData({ currentId:param.id }) }
data-*註意事項:data-*名稱不能有大寫字母,曾經我就因為大寫了一個字母,找了半天的才發現這個錯誤技術分享..data-*屬性中不可以存放對象 2: 設置id 的方法標識來傳值 使用方法說明: (1)設置id
1 <view bindtap=“playTap" id="{{modle.id}}">
(2)取值 通過e.currentTarget.id獲取設置的id的值,然後通過設置全局對象的方式來傳遞數值 3: 在navigator中添加參數傳值 使用方法說明 (1)傳值:在navigator的屬性url後拼接?id(參數名字)=要傳遞的值 (如果多個參數用&分開 &name=value&.......)
1 <navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">
(2)取值:
1 2 3 4 onLoad (params){ app.fetch(API.detail + params.id,(err,data) => { }) }
數據請求封裝 1.將所有的接口放在統一的js文件中並導出
1 2 3 4 5 6 7 const api = { interface1: ‘https://........‘, interface2: ‘https://.......‘, interface3: ‘https://....‘, ..... } module.exports = api;
2:在app.js中創建封裝請求數據的方法
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 fetch(url,data, callback) { wx.request({ url, data: data, header: { ‘Content-Type‘: ‘application/json‘ }, success(res) { callback(null, res.data); }, fail(e) { callback(e); } }) },
3: 在子頁面中調用封裝的方法請求數據
01 02 03 04 05 06 07 08 09 10 11 import API from "../../api/api.js"; const app = getApp(); const conf = { data:{ title:‘正在拼命加載中...‘, loadding:true }, onLoad (){ app.fetch(API.hot,{},(err,data) => { }) },

小程序經驗