簡體   English   中英

如何將“ this”從ClassA傳遞到ClassB?

[英]How to pass 'this' from ClassA to ClassB?

我正在嘗試創建一個包含多個模塊的全局類。 我正在將代碼從Javascript重寫為Dart。

使用Javascript

import ModuleA from './modules/a'
import ModuleB from './modules/b'
import ModuleC from './modules/c'

class Parent {
  constructor() {
    this.moduleA = new ModuleA(this)
    this.moduleB = new ModuleB(this)
    this.moduleC = new ModuleC(this)
  }
}

import 'modules/a.dart';
import 'modules/b.dart';
import 'modules/c.dart';

class Parent {
  ModuleA moduleA = ModuleA(parent: Parent());
  ModuleB moduleB = ModuleB(parent: Parent());
  ModuleC moduleC = ModuleC(parent: Parent());
}

構建后,我得到此錯誤:

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Stack Overflow

您的Dart類應具有用於初始化成員的構造函數,並在構造成員時傳遞this構造函數:

import 'modules/a.dart';
import 'modules/b.dart';
import 'modules/c.dart';

class Parent {
  Parent() {
    moduleA = ModuleA(parent: this);
    moduleB = ModuleB(parent: this);
    moduleC = ModuleC(parent: this);
  }

  ModuleA moduleA;
  ModuleB moduleB;
  ModuleC moduleC;
}

您不太正確地使用類,請轉到此鏈接以獲取說明

import ModuleA from './modules/a'
import ModuleB from './modules/b'
import ModuleC from './modules/c'

class Parent {
  constructor(){
    this.moduleA = new ModuleA(this);
    this.moduleB = new ModuleB(this);
    this.moduleC = new ModuleC(this);
  }
}```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM