收藏
回答

为什么 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
    回复 5
    • 2021-03-03
      原来 `behavior` 的生命周期方法要写在 `methods` 里面,官方文档上没看到,可能是我瞎了。。。
      2021-03-03
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-03-03回复
      我复制的官方文档上的代码,自己加的onLoad onShow
      2021-03-03
      1
      回复
    • Zeno Li
      Zeno Li
      2023-05-10
      我写在methods里没效呢?
      2023-05-10
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-05-10回复Zeno Li
      亮代码
      2023-05-10
      回复
    • Zeno Li
      Zeno Li
      2023-05-10回复Mr.Zhao
      可以了o(╥﹏╥)o,我大小写问题
      2023-05-10
      回复
  • ipeng
    ipeng
    2021-03-04

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

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