收藏
回答

为什么 Behavior 中的生命周期无法触发?

代码如下:

// behaviors/query-params.js
export default Behavior({
  data: {},
  onLoad (options) {
    console.log('Behavior: onLoad')
  },
  onShow () {
    console.log('Behavior: onShow')
  }
})


// pages/test/test.js
import behavior from '../../behaviors/query-params.js'

Page({
  behaviors: [behavior],
  data: {}
})


如上代码所示,预期控制台会打印两条日志,实际并没有。

回答关注问题邀请回答
收藏

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-03-03

    你写错位置了

    2021-03-03
    有用 2
    回复 2
    • Mathink
      Mathink
      2021-03-03
      原来 `behavior` 的生命周期方法要写在 `methods` 里面,官方文档上没看到,可能是我瞎了。。。
      2021-03-03
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-03-03回复Mathink
      我复制的官方文档上的代码,自己加的onLoad onShow
      2021-03-03
      1
      回复
  • ipeng
    ipeng
    2021-03-04

    behavior只适用于component组件吧?组件的生命周期没有onLoad,onShow,想要在组件里触发page的onShow钩子,要写在pageLifetimes里。

    2021-03-04
    有用 1
    回复 8
    查看更多(3)
登录 后发表内容
问题标签