簡體   English   中英

為什么我用angular.dart 0.10和ng-view出現js執行錯誤?

[英]Why do I get js execution errors with angular.dart 0.10 and ng-view?

我剛剛遷移到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>

該錯誤僅出現在<ng-view> 如果直接在主html中添加上述html,則不會出現js錯誤。

Pavel Jbanov在這篇文章中指出:

我相信expression_generator轉換器無法找到您的模板文件,因此您可能需要手動添加它: https : //github.com/angular/angular.dart/blob/master/lib/tools/transformer/options.dart#L17

並進一步 :

希望轉換器可以更好地識別模板文件,因此您不必手動列出它們。 目前,afaik僅選擇組件的模板文件。

所以,現在你必須手動添加未經跟蹤的所有HTML模板里面的pubspec.yaml這樣的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

暫無
暫無

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

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