Angular 2路由器在路由时刷新页面

Riv*_*diz 4 typescript angular2-routing angular

我正在尝试在学习Angular 2的同时设置一条简单的路线,每当我点击一个链接时,浏览器就会被路由到新的路线,但浏览器会重新请求所有资源(不像单页应用程序那样).

我的索引文件,

<!--... . .  various scripts and styles . . . . . --->
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>

<script>
  System.config({
    packages: {        
      app: {
        format: 'register',
        defaultExtension: 'js'
      }
    }
  });
  System.import('app/main')
        .then(null, console.error.bind(console));
</script>
</head>
<body>
  <app></app>
</body>
Run Code Online (Sandbox Code Playgroud)

应用来源,

main.ts

import {bootstrap}    from 'angular2/platform/browser';
import {RoutingApp} from './routing/routing.app'
import {ROUTER_PROVIDERS} from 'angular2/router'

bootstrap(RoutingApp, [ROUTER_PROVIDERS]);
Run Code Online (Sandbox Code Playgroud)

RoutingApp

import {Component} from "angular2/core"
import {RouteComponent} from './route.component'
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router';


@Component({
    selector : 'app',
    template :  `
        go to this <a href="/link">link</a>
        <br />
        <router-outlet></router-outlet>

    `,
    directives: [ROUTER_DIRECTIVES],
    providers: [ROUTER_PROVIDERS]
})
@RouteConfig([
    {path: '/link', name: 'Link', component: RouteComponent}
])
export class RoutingApp{

}
Run Code Online (Sandbox Code Playgroud)

RouteComponent

import {Component} from 'angular2/core'

@Component({
    template: `
        hello from RouteComponent
    `
})
export class RouteComponent{}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?Angular版本是2.0.0-beta.7.

谢谢您的任何见解.

Thi*_*ier 7

您应该使用该routerLink指令导航到路由:

<a [routerLink]="['Link']">link</a>
Run Code Online (Sandbox Code Playgroud)

由于您已在组件ROUTER_DIRECTIVESdirectives属性中指定,因此该指令可直接使用