[英]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.