1

我正在用 Angular Dart 构建一个应用程序。当我尝试将其作为 javascript 运行时,它会在控制台 (Firefox) 中引发错误:

“NoSuchMethodError:无法调用“get$data”(config.get$data 不是函数)

或 Chrome 中的相同问题:

NoSuchMethodError:未定义不是函数

在 DevTools 中,我发现当应用程序尝试下载组件的 html 文件时会引发此错误。错误是由预编译的 javascript 代码引起的:

closure322: {
  "^": "Closure:139;",
  call$1: function(config) {
    config.get$data(config);
    config.get$data(config);
    return config;
  },
  $isFunction: true
},

我检查了“config”变量的属性,没有“get$data”函数。我不确定如何进行。我已经尝试过 pub upgrade 并且错误仍然存​​在。我在 Dartium 中开发应用程序时没有错误,并且一切正常。

干杯。

4

1 回答 1

1

我有完全相同的错误。我相信这是 dart2js 中的一个错误,大致如下:

https://code.google.com/p/dart/issues/detail?id=18383

令我困惑的是,理论上它应该在我正在使用的 1.4.0 中解决,但似乎并非如此。

您不需要降级到 angulardart 0.10.0。您可以继续使用 0.11 但您需要禁用检查模式。这是我的 pubspec.yaml 的一部分:

    transformers:
    - angular:
        html_files:
        - web/view/home.tpl.html
        - web/view/join.tpl.html
        - web/view/lobby.tpl.html
        - web/view/login.tpl.html
    - $dart2js:
        checked: false
        minify: false
        verbose: false
        analyzeAll: false
        suppressWarnings: false
        suppressHints: false
        terse: false
于 2014-05-27T13:15:47.230 回答