由于微信原生 api 并不支持 class,所以除 Store 外,AppComponentPage 相关的类都要遵循下面的约束:

    • 不要在 class 的类方法中使用箭头函数,但可以在类方法内部使用(主要因为箭头函数将 this 绑定死了 Class,无法转到 Object 上)

    不可以这样用:

    1. class MyPage extends BasePage {
    2. foo = () => this.app
    3. }

    可以这样用:

    1. class MyPage extends BasePage {
    2. foo() {
    3. someArr.forEach(() => {})
    4. }
    5. }
    • 最好不要使用 get prop() {},@minapp/mobx 框架支持,但微信内部会遍历 Object 中的属性的值,所以你的 prop 在 Page 还没初始化前就会被调用,有可能会导致错误

    最好不要这样用:

    1. class MyPage extends BasePage {
    2. get foo() {
    3. return this.something
    4. }
    5. }