2016-06-17 2 views
0

TypeError 가져 오는 중 : 앱을 rc1로 업데이트하면 정의되지 않은 오류의 'annotations'속성을 읽을 수 없습니다. 어떤 아이디어로 그 문제를 일으킬 수 있습니까? '@ angular/router-deprecated'대신 '@ angular/router'를 사용해야합니까?각도 2 rc1 TypeError : 정의되지 않은 'annotations'속성을 읽을 수 없습니다.

import {Component, provide, Optional, Inject, NgZone} from '@angular/core'; 
    import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from '@angular/router-deprecated'; 
    import {CliRouteConfig} from './route-config'; 
    //import * as Redux from 'redux'; 

    import {RegisterSimple} from './register-simple/register-simple'; 
    import {Register} from './register/register'; 

    @Component({ 
     selector: 'account-app', 
     providers: [], 
     template: ` 
     <h2>Account</h2> 
     <nav> 
      <a [routerLink]="['RegisterSimple']" class="nav-register-simple">Register Simple</a> 
      <a [routerLink]="['Register']" class="nav-register">Register</a> 

     </nav> 
     <hr> 
     <div style="margin:20px; border:1px solid #ccc;"> 
      <router-outlet></router-outlet> 
     </div> 
     `, 
     directives: [ROUTER_DIRECTIVES, RegisterSimple], 
     pipes: [] 
    }) 

    @RouteConfig([ 

     { path: '/register-simple', name: 'RegisterSimple', component: RegisterSimple }, 
     { path: '/register', name: 'Register', component: Register }, 

    ].concat(CliRouteConfig)) 

    export class AccountApp { 

     private userState: any = null; 

     constructor(
     private ngZone: NgZone, 
     @Optional() @Inject('UserStore') UserStore: any 
    ) { 
     let userData = { 
      general: { 
      userNodeID: 123, 
      username: 'Max.m', 
      firstname: 'Max', 
      lastname: 'Mustermann', 
      salutation: 'Mr', 
      birthdate: '23.12.1988' 
      }, 
      address: { 
      street: 'Musterstraße', 
      houseNumber: '4', 
      postCode: '4020', 
      city: 'Linz', 
      countryCode: 'AT' 
      }, 
      contact: { 
      phone: '', 
      email: '[email protected]', 
      newsletter: true 
      }, 
      payment: { 
      accountHolderName: 'Max Mustermann', 
      bic: 'AT65232323', 
      iban: 'AT9837272727272' 
      }, 
      culture: { 
      currency: 'EUR', 
      language: 'de', 
      oddFormat: 'Decimal' 
      } 
     } 

     this.ngZone.runOutsideAngular(() => { 
      this.ngZone.run(() => { 

      }); 
     }); 
     } 
    } 

Main.ts

import { bootstrap } from '@angular/platform-browser-dynamic'; 
import { enableProdMode } from '@angular/core'; 
import { AccountApp, environment} from './app'; 

if (environment.production) { 
    enableProdMode(); 
} 
bootstrap(AccountApp); 

오류 메시지가 각 버그/버전 호환성과 같은

EXCEPTION: Error in :0:0 
browser_adapter.ts:78 EXCEPTION: Error in :0:0BrowserDomAdapter.logError @ browser_adapter.ts:78 
browser_adapter.ts:78 ORIGINAL EXCEPTION: TypeError: Cannot read property 'annotations' of undefinedBrowserDomAdapter.logError @ browser_adapter.ts:78 
browser_adapter.ts:78 ORIGINAL STACKTRACE:BrowserDomAdapter.logError @ browser_adapter.ts:78 
browser_adapter.ts:78 TypeError: Cannot read property 'annotations' of undefined 
    at RouteRegistry.configFromComponent (route_registry.ts:112) 
    at new RootRouter (router.ts:522) 
    at routerFactory (router_providers_common.ts:31) 
    at DebugAppView.get (AccountApp_Host.template.js:55) 
    at DebugAppView._View_AccountApp_Host0.injectorGetInternal (AccountApp_Host.template.js:95) 
    at DebugAppView.AppView.injectorGet (view.ts:145) 
    at DebugAppView.injectorGet (view.ts:325) 
    at ElementInjector.get (element_injector.ts:16) 
    at DebugAppView._View_AccountApp0.createInternal (AccountApp.template.js:60) 
    at DebugAppView.AppView.create (view.ts:110)BrowserDomAdapter.logError @ browser_adapter.ts:78 
browser_adapter.ts:78 ERROR CONTEXT:BrowserDomAdapter.logError @ browser_adapter.ts:78 
browser_adapter.ts:78 DebugContext 
+0

''요소에 ''태그가 있습니까? –

+0

전체 오류 메시지를 표시 할 수 있습니까? – micronyks

+0

네, 포함되어 있습니다 .. 페이지에서 나는 "계정"을 볼 수 있지만 나머지는 누락되었습니다 ... (nav 태그) –

답변

1

동일한 오류 메시지가있었습니다. rc.4를 사용하여 대부분의 패키지 (common, core 등)를 실행하려고했기 때문에 rc.1 (게시 당시 최신 버전)에 라우터가있었습니다. 다른 패키지를 rc.1로 다시 이동하면 문제가 해결되었습니다.

1

. npm install을 실행하고 systemjs config, package.json을 확인하고 라우터 버전을 교체하십시오.

관련 문제