Skip to content
This repository has been archived by the owner on Feb 22, 2018. It is now read-only.

error message hard to understand when "selector" param missing from @NgComponent #201

Closed
trinarytree opened this issue Oct 3, 2013 · 1 comment
Milestone

Comments

@trinarytree
Copy link

if you do this:

@NgComponent(template: '

my component!
')
class MyComponent {}

you will get this difficult-to-understand error message in chromium:
EXCEPTION: Illegal argument(s)
#0 _JSSyntaxRegExp._ExecuteMatch (dart:core-patch/regexp_patch.dart:89:87)
#1 _JSSyntaxRegExp.firstMatch (dart:core-patch/regexp_patch.dart:55:31)
#2 directiveSelectorFactory. (package:angular/dom/selector.dart:228:45)
#3 _HashMap&_LinkedHashMapMixin.forEach (dart:collection-patch/collection_patch.dart:821:13)
#4 AnnotationMap.forEach (package:angular/registry.dart:26:39)
#5 directiveSelectorFactory (package:angular/dom/selector.dart:223:21)
#6 Compiler.Compiler (package:angular/dom/compiler.dart:18:40)
#7 _LocalClassMirrorImpl._invokeConstructor (dart:mirrors-patch/mirrors_impl.dart:501:127)
#8 _LocalClassMirrorImpl.newInstance (dart:mirrors-patch/mirrors_impl.dart:478:38)
#9 _TypeProvider.get (package:di/dynamic_injector.dart:298:35)
#10 DynamicInjector._getInstanceBySymbol. (package:di/dynamic_injector.dart:114:40)
#11 _defaultCreationStrategy (package:di/module.dart:93:34)
#12 DynamicInjector._getInstanceBySymbol (package:di/dynamic_injector.dart:111:48)
#13 DynamicInjector.get (package:di/dynamic_injector.dart:182:27)
#14 bootstrapAngular. (package:angular/bootstrap.dart:69:17)
#15 Zone.Zone. (package:angular/zone.dart:50:42)
#16 Zone.run. (package:angular/zone.dart:97:46)
#17 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#18 _ZoneBase._runGuarded (dart:async/zone.dart:99:22)
#19 _CatchErrorsZone.runWaitForCompletion (dart:async/zone.dart:179:28)
#20 runZonedExperimental (dart:async/zone.dart:252:35)
#21 runZonedExperimental. (dart:async/zone.dart:242:34)
#22 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#23 _ZoneBase._runUnguarded (dart:async/zone.dart:102:22)
#24 runZonedExperimental (dart:async/zone.dart:241:30)
#25 Zone.run (package:angular/zone.dart:93:31)
#26 bootstrapAngular (package:angular/bootstrap.dart:67:11)
#27 main (file:///usr/local/google/home/ccalabro/src/dart/web/foo.dart:18:19)
#28 _LocalClassMirrorImpl._invokeConstructor (dart:mirrors-patch/mirrors_impl.dart:501:127)
#29 _LocalClassMirrorImpl.newInstance (dart:mirrors-patch/mirrors_impl.dart:478:38)
#30 _TypeProvider.get (package:di/dynamic_injector.dart:298:35)
#31 DynamicInjector._getInstanceBySymbol. (package:di/dynamic_injector.dart:114:40)
#32 _defaultCreationStrategy (package:di/module.dart:93:34)
#33 DynamicInjector._getInstanceBySymbol (package:di/dynamic_injector.dart:111:48)
#34 DynamicInjector.get (package:di/dynamic_injector.dart:182:27)
#35 bootstrapAngular. (package:angular/bootstrap.dart:69:17)
#36 Zone.Zone. (package:angular/zone.dart:50:42)
#37 Zone.run. (package:angular/zone.dart:97:46)
#38 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#39 _ZoneBase._runGuarded (dart:async/zone.dart:99:22)
#40 _CatchErrorsZone.runWaitForCompletion (dart:async/zone.dart:179:28)
#41 runZonedExperimental (dart:async/zone.dart:252:35)
#42 runZonedExperimental. (dart:async/zone.dart:242:34)
#43 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#44 _ZoneBase._runUnguarded (dart:async/zone.dart:102:22)
#45 runZonedExperimental (dart:async/zone.dart:241:30)
#46 Zone.run (package:angular/zone.dart:93:31)
#47 bootstrapAngular (package:angular/bootstrap.dart:67:11)
#48 main (file:///usr/local/google/home/ccalabro/src/dart/web/foo.dart:18:19)
#49 DynamicInjector._getInstanceBySymbol (package:di/dynamic_injector.dart:111:48)
#50 DynamicInjector._getInstanceBySymbol (package:di/dynamic_injector.dart:120:7)
#51 DynamicInjector.get (package:di/dynamic_injector.dart:182:27)
#52 bootstrapAngular. (package:angular/bootstrap.dart:69:17)
#53 Zone.Zone. (package:angular/zone.dart:50:42)
#54 Zone.run. (package:angular/zone.dart:97:46)
#55 Zone.run. (package:angular/zone.dart:98:11)
#56 Zone.run. (package:angular/zone.dart:98:11)
#57 Zone.run. (package:angular/zone.dart:101:9)
#58 Zone.run. (package:angular/zone.dart:101:9)
#59 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#62 _ZoneBase._runGuarded (dart:async/zone.dart:99:22)
#63 _CatchErrorsZone.runWaitForCompletion (dart:async/zone.dart:179:28)
#64 runZonedExperimental (dart:async/zone.dart:252:35)
#65 runZonedExperimental. (dart:async/zone.dart:242:34)
#66 _ZoneBase._runInZone (dart:async/zone.dart:82:17)
#67 _ZoneBase._runUnguarded (dart:async/zone.dart:102:22)
#68 runZonedExperimental (dart:async/zone.dart:241:30)
#69 Zone.run (package:angular/zone.dart:93:31)
#70 bootstrapAngular (package:angular/bootstrap.dart:67:11)
#71 main (file:///usr/local/google/home/ccalabro/src/dart/web/foo.dart:18:19)

it's hard to figure out that the fix is to add
selector: 'hello'
to the @NgComponent.

@jbdeboer
Copy link
Contributor

jbdeboer commented Jan 8, 2014

We now say: "Missing selector annotation for ComponentType". Landed in 42692a1

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

3 participants