2015-03-23 28 views
7

Sto cercando di creare la forma semplice come descritto nella http://angularjs.blogspot.no/2015/03/forms-in-angular-2.html, ma quando aggiungoImportazione anuglar2/forme che causano "Impossibile leggere proprietà 'annotazioni' di indefinito"

import {forms, required} from 'angular2/forms';

in incidenti con

TypeError: Cannot read property 'annotations' of undefined 

TypeError: Cannot read property 'annotations' of undefined 
    at ReflectionCapabilities.System.register.execute.$__export.annotations (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/reflection/reflection_capabilities.es6!eval:81:40) 
    at Reflector.System.register.execute.$__export.annotations (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/reflection/reflector.es6!eval:81:50) 
    at DirectiveMetadataReader.System.register.execute.$__export.read (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/directive_metadata_reader.es6!eval:31:41) 
    at eval (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:127:35) 
    at Array.map (native) 
    at Function.System.register.execute.$__export.map (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/facade/collection.es6!eval:172:26) 
    at Compiler.System.register.execute.$__export.createSteps (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:126:43) 
    at Compiler.System.register.execute.$__export._compileTemplate (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:164:53) 
    at eval (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:154:29) 
    at Zone.run (http://localhost:9090/node_modules/zone.js/zone.js:87:19) 

-----async gap----- 
Error 
    at Function.System.register.execute.$__export.then (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/facade/async.es6!eval:35:28) 
    at Compiler.System.register.execute.$__export._compile (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:153:42) 
    at Compiler.System.register.execute.$__export.compile (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/compiler/compiler.es6!eval:134:34) 
    at eval (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:73:23) 
    at Function.System.register.execute.$__export.apply (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/facade/lang.es6!eval:317:23) 

-----async gap----- 
Error 
    at _AsyncInjectorStrategy.System.register.execute._AsyncInjectorStrategy.instantiate (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/di/injector.es6!eval:297:17) 
    at Injector.System.register.execute.$__export._getByKey (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/di/injector.es6!eval:138:33) 
    at Injector.System.register.execute.$__export.asyncGet (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/di/injector.es6!eval:112:25) 
    at eval (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:113:39) 

-----async gap----- 
Error 
    at VmTurnZone.System.register.execute.$__export._createInnerZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/zone/vm_turn_zone.es6!eval:61:45) 
    at new VmTurnZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/zone/vm_turn_zone.es6!eval:29:34) 
    at _createVmZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:101:16) 
    at bootstrap (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:110:16) 
    at y.main (http://localhost:9090/app.js!eval:10:12) 
    at http://localhost:9090/?:42:21 

-----async gap----- 
Error 
    at VmTurnZone.System.register.execute.$__export._createInnerZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/zone/vm_turn_zone.es6!eval:61:25) 
    at new VmTurnZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/zone/vm_turn_zone.es6!eval:29:34) 
    at _createVmZone (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:101:16) 
    at bootstrap (http://localhost:9090/node_modules/angular/dist/js/prod/es6/angular2/src/core/application.es6!eval:110:16) 
    at y.main (http://localhost:9090/app.js!eval:10:12) 
    at http://localhost:9090/?:42:21 

Impossibile capire che cosa significhi questo messaggio di errore e inoltre non riesco a trovare dove è definita la direttiva di moduli.

AGGIORNAMENTO: il "non definito" è in realtà una direttiva "moduli" che sembra mancare davvero in angular2/modules/angular2/src/forms. Quindi DirectiveMetadataReader passa il "non definito" oltre al riflettore che alla fine risulta in un'eccezione. Sarebbe bello avere un assegno in Template.

+0

Non capisco questa domanda, esattamente; l'articolo che hai linkato non è un codice di produzione, l'articolo afferma chiaramente "(Questa è l'API proposta, ci piacerebbe avere il tuo input su questo.)" Questo mi dice che non è un codice funzionante, ma un suggerimento per la sintassi dell'autore sarebbe piace usare – Claies

+0

per essere onesti, oltre a quella singola affermazione il resto dell'articolo lo presenta come codice funzionale funzionale non solo un concetto proposto – adeelmahmood

+0

hai trovato una soluzione per questo problema? – jumpa

risposta

2

Sembra che l'esempio del blog di Victor non corrisponda alla versione utilizzata (le API stavano cambiando così velocemente quei giorni). Ma ora beta viene rilasciato (e significa cambiamenti non più di rottura), così ho creato esempio lavorare con il più vicino possibile funzionalità:

angolare 2 Beta

import {Component} from 'angular2/core' 
import {ControlGroup, FormBuilder, Validators} from 'angular2/common' 
... 

http://plnkr.co/edit/ae1WEgQJWPMdEgoweMGd?p=preview solo per verificare come è andato lontano (abbastanza lontano!).

A partire dalla versione angolare: 2.0.0-rc.1

Tutte le importazioni che utilizzavano angular2 bisogno di essere cambiato in @angular

import {Component} from '@angular/core' 
import {ControlGroup, FormBuilder, Validators} from '@angular/common'; 

Per ulteriori Lista delle importazioni vedere qui: -

+0

fino ad ora c'è solo Angular2 RC.1 non RC.2 @OUtlooker –

+0

Modificato.my bad..tanx @PardeepJain – Outlooker

+0

your welcome @Outlooker –