【问题标题】:Why do I get js execution errors with angular.dart 0.10 and ng-view?为什么使用 angular.dart 0.10 和 ng-view 会出现 js 执行错误?
【发布时间】:2014-04-24 08:03:55
【问题描述】:

我刚刚迁移到angular-0.10.0。我的应用程序在 Dartium 中按预期工作,但在 js 中通过 dart2js 我在 Web 控制台中收到以下未缩小的错误:

No getter for 'ctrl'.

STACKTRACE:
Error
    at dart.wrapException (http://localhost:8080/app/main.dart.js:2390:15)
    at StaticClosureMap.lookupGetter$1 (http://localhost:8080/app/main.dart.js:8926:17)
    at DynamicParserBackend.newAccessScope$1 (http://localhost:8080/app/main.dart.js:7177:21)
    at DynamicParserImpl.parseAccessOrCallScope$0 (http://localhost:8080/app/main.dart.js:7531:29)
    at DynamicParserImpl.parsePrimary$0 (http://localhost:8080/app/main.dart.js:7507:21)
    at DynamicParserImpl.parseAccessOrCallMember$0 (http://localhost:8080/app/main.dart.js:7464:21)
    at DynamicParserImpl.parsePrefix$0 (http://localhost:8080/app/main.dart.js:7460:21)
    at DynamicParserImpl.parseMultiplicative$0 (http://localhost:8080/app/main.dart.js:7439:21)
    at DynamicParserImpl.parseAdditive$0 (http://localhost:8080/app/main.dart.js:7428:21)
    at DynamicParserImpl.parseRelational$0 (http://localhost:8080/app/main.dart.js:7413:21) 

pubspec.yaml

name: app
version: 0.0.1-dev
dependencies:
  angular: any
  browser: any
dev_dependencies:
  unittest: any
transformers:
- angular

控制器:

@Controller(selector: '[myCtrl]', publishAs: 'ctrl')
class MyController {
  String search = 'test';
}

html 模板:

<div myCtrl>
  <input ng-model="ctrl.search"></input>
  {{ ctrl.search }}
</div>

错误只出现在&lt;ng-view&gt; 中。如果我直接在主html中添加上面的html,则不会出现js错误。

【问题讨论】:

    标签: dart angular-dart


    【解决方案1】:

    Pavel Jbanov 在this post 中指出:

    我相信expression_generatortransformer 无法发现您的模板文件,因此您可能需要手动包含它:https://github.com/angular/angular.dart/blob/master/lib/tools/transformer/options.dart#L17

    还有:

    希望转换器能够更好地识别模板文件,这样您就不必手动列出它们。现在,afaik,它只获取组件的模板文件。

    因此,现在您必须在 pubspec.yaml 中手动添加所有未跟踪的 html 模板,就像在 html_files 部分中一样:

    name: app
    version: 0.0.1-dev
    dependencies:
      angular: any
      browser: any
    dev_dependencies:
      unittest: any
    transformers:
    - angular:
        html_files:
        - web/template1.html
        - web/template2.html
        - web/template3.html
    

    【讨论】:

      猜你喜欢
      • 2019-09-02
      • 1970-01-01
      • 2015-03-08
      • 2022-07-22
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多