2014-05-25 14 views
1

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

"NoSuchMethodError: Cannot call "get$data" (config.get$data is not a function)

或在Chrome同样的问题:

NoSuchMethodError: undefined is not a function

在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升级,错误仍然存​​在。在Dartium开发应用程序时没有错误,并且一切正常。

干杯。

+0

你用什么Angular.dart版本?如果您在条目页面中导入'shadow_dom.js',则应将其更改为'web_components.js' https://github.com/angular/angular.dart/pull/972 –

+0

Angular:0.11.0,Dart:1.4 .0,web_components:0.3.4。没有任何改变,仍然有相同的问题。 –

+0

我已经从html中删除了所有组件。然后我注意到由引起的错误。如果我删除它一切正常。除了视图:) –

回答

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 
+0

谢谢,它现在与0.11工作。 –