小程序經驗

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) => {
        })
    },
相關文章
相關標籤/搜索