参考"这个"在Dart JS互操作

时间:2015-05-11 09:00:37

标签: javascript dart dart-js-interop

我想在Dart中实现以下代码:

var HelloWorldScene = cc.Scene.extend({
    onEnter:function () {
        this._super();
    }
});

我的Dart实现如下:

class HelloWorldScene {
  HelloWorldScene() {
    var sceneCollectionJS = new JsObject.jsify({ "onEnter": _onEnter});

    context["HelloWorldScene"] = context["cc"]["Scene"].callMethod("extend", [sceneCollectionJS]);
  }

  void _onEnter() {
    context["this"].callMethod("_super");
  }
}

不幸的是,运行代码时出现以下错误:

  

null对象没有方法' callMethod'

在以下一行:

  

context [" this"]。callMethod(" _super",[]);

context [" this"]似乎是null,所以我的问题是:我如何引用" this"来自Dart的变量?

更新1: 完整的示例代码可以在github上找到: https://github.com/uldall/DartCocos2dTest

1 个答案:

答案 0 :(得分:1)

您可以使用JsFunction.withThis(f)捕获J label。使用该定义,将添加一个附加参数作为第一个参数。因此,您的代码应该是:

this