小程序原生作用域獲取

2020-05-12 17:46 更新

在 Taro 的頁(yè)面和組件類中,this 指向的是 Taro 頁(yè)面或組件的實(shí)例,例如

import Taro, { Component } from '@tarojs/taro'
import { View } from '@tarojs/components'

export default class Menu extends Component {
  static defaultProps = {
    data: []
  }

  constructor(props) {
    super(props)
    this.state = {
      checked: props.checked
    }
  }

  componentWillMount () {
    console.log(this) // this -> 組件 Menu 的實(shí)例
  }

  render () {
    return <View />
  }
}

但是一般我們需要獲取 Taro 的頁(yè)面和組件所對(duì)應(yīng)的小程序原生頁(yè)面和組件的實(shí)例,這個(gè)時(shí)候我們可以通過(guò) this.$scope 就能訪問(wèn)到它們。

所以當(dāng)調(diào)用一些 API 需要傳入小程序的頁(yè)面或者組件實(shí)例時(shí),可以直接傳入 this.$scope,例如 Taro.createCanvasContext(canvasId, this) 這個(gè) API,第二個(gè)參數(shù)就是自定義組件實(shí)例 this,在 Taro 中就可以如下使用

Taro.createCanvasContext(canvasId, this.$scope)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)