首頁>技術>

1. 元件內路由跳轉:

url寫成'../../xxx'這種相對路徑是會報錯的,

正確寫法是下面這樣:

wx.navigateTo({  url: '/pages/demo/demo',})

當然,正常page裡的路由跳轉寫相對路徑是沒問題的,如'./../xxxx...'

2. 父子元件通訊

父頁面:

<view>  <child-box id="childbox" datas="{{datas}}" bind:parentEvent="parentEventFun"></child-box></view >

父頁面.js

Page({  parentEventFun(val) {    console.log(val)//子元件傳過來的值  },  onLoad() {    // 呼叫子元件方法    this.selectComponent("#childbox").childFun()  }})

子元件:

<view>  child components</view>

子元件.js

Component({  methods: {    childFun() {      this.triggerEvent('parentEvent', {        msg: '呼叫父方法並傳值'      }, {})    }  }})

3. 自定義top

需要在index.json中新增

在app.js中的 onLaunch 中執行, 並存儲在globalData中方便全域性呼叫

App({  onLaunch: function() {    wx.getSystemInfo({      success: (res) => {        this.globalData.height = res.statusBarHeight      }    })	},  globalData: {    userInfo: null,      height: 0  }})

頁面使用:

onShow: function () {  this.setData({    height: app.globalData.height,  })}

頁面:

<view class="top-title" style="top:{{height}}px;">自定義頂部資訊</view>

4. 元件生命週期

最重要的生命週期是 created attached detached ,包含一個元件例項生命流程的最主要時間點。

created:元件例項剛剛被建立好,元件資料 this.data 就是在 Component 構造器中定義的資料 data 。 此時還不能呼叫 setData 。 通常情況下,這個生命週期只應該用於給元件 this 新增一些自定義屬性欄位。

attached:在元件完全初始化完畢、進入頁面節點樹後,this.data 已被初始化為元件的當前值。這個生命週期很有用,絕大多數初始化工作可以在這個時機進行。

detached:在元件離開頁面節點樹後,退出一個頁面時,如果元件還在頁面節點樹中,則 detached 會被觸發。

所以,一般我們不需要用這幾個生命週期函式,因為用的時候發現它不會自動重新整理。

就算你頁面資料更新了(重新setData了,頁面未關閉),元件dom也不會更新,不用attached, 可以直接用properties中的傳參,這個是實時更新的。

6
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 資料庫與流處理-對資料管理的未來意味著什麼