Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.
This repository was 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

Description

@trinarytree

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions