2016-06-14 2 views
2

각도 2 앱이 있습니다. router-deprecated를 사용합니다 (새 라우터는 현재 문서화되어 있지 않으므로). 두 가지 기본 경로 (집과 관리자)가 있습니다. 앱을로드하거나 F5 새로 고침을하면 현재 모듈이 두 번로드됩니다 (html 파일이 두 번 요청되고 생성자가 두 번 호출됨을 알 수 있습니다.) 앱이 경로를 두 번로드하지 못하게하려면 어떻게해야합니까? 경로는 "이중로드". 만 F5/프리스트로드각도 2 모듈이 새로 고침시 두 번로드됩니다.

<html> 
<head> 
<base href= /> 
<title>Consyd Time Management</title> 
<meta charset=UTF-8> 
<meta name=viewport content="width=device-width,initial-scale=1"> 
<link rel=stylesheet href=public/css/styles.css>  
<link rel=stylesheet href=node_modules/bootstrap/dist/css/bootstrap.min.css> 
<script src=node_modules/core-js/client/shim.min.js></script> 
<script src=node_modules/zone.js/dist/zone.js></script> 
<script src=node_modules/reflect-metadata/Reflect.js></script> 
<script src=public/scripts/externalLibs.js></script> 
</head> 
<body> 
<div id=main class=container-fluid> <start-page>Loading...</start-page>  </div> 

start.ts

import { Component } from '@angular/core'; 
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from  '@angular/router-deprecated'; 
import { NavigationMenu } from "./navigation"; 
import { myRoutes } from '../routes'; 


@Component({ 
selector: 'start-page', 
template: ` 
<h2>Startseite</h2> 
<navigation-menu></navigation-menu> 
<router-outlet></router-outlet>`, 
directives: [ROUTER_DIRECTIVES, NavigationMenu] 
}) 
@RouteConfig(myRoutes) 

export class StartPage { 

} 

및 routes.ts

가 발생하지 않습니다 16,
import { RouteDefinition } from '@angular/router-deprecated'; 
import { HomePage } from './views/home'; 
import { AdminPage} from './views/adminpage'; 


export const myRoutes: RouteDefinition[] = [ 
    { 
     path: '/', 
     name: 'Home', 
     component: HomePage 
    }, 
    { 
     path: '/admin', 
     name: 'Admin', 
     component: AdminPage 

    } 
]; 

home.ts

답변

1

폐쇄

//imports going here 
@Component({ 
    selector: 'start-page', 
    templateUrl: 'public/app/html/home.html', 
    directives: [DROPDOWN_DIRECTIVES, CORE_DIRECTIVES], 
    providers: [HttpService] 
}) 

export class HomePage { 
    constructor(private httpService: HttpService) { 
     if (!this.selectedProject) { 
      this.selectedProject = new Project("Projekt auswählen"); 
     } 
     this.getUsers(this.setUser); 

    } 
//REST OF CODE 
: .... (한 손으로 및 웹팩 하나) index.html을 두 번 아이디어

+0

감사를 externallibs.js을 추가 한 - 나는 추가 이중로드를 일으키는 NgModule의 부트 스트랩 배열에 대한 구성 요소. 그것은 선언에만 있어야하고 부트 스트랩에는 포함되어서는 안됩니다. – DFBerry

관련 문제