0

我有一个 Angular 2 应用程序(使用 Angular RC1 构建),它使用 RC1 的路由器弃用模块中的 RouteConfig 类。

import {Component} from "@angular/core";
import {RouteConfig, RouterOutlet} from "@angular/router-deprecated";
import {LoginComponent} from "./login/login";

@RouteConfig([
  {path: "/", redirectTo: ["Login"]},
  {
    path: "/login",
    component: LoginComponent,
    name: "Login"
 }])
@Component({
  selector: "my-app",
  template: "<router-outlet></router-outlet>",
  directives: [RouterOutlet]
})
export class AppComponent {
}

如上所示,当用户在浏览器上点击 localhost:3000 时,我看到浏览器 url 重定向到:

http://localhost:3000/%E2%80%9C/%E2%80%9C/%E2%80%9C/login

我看到与组件装饰器 templateUrls 相关的问题。 这是我的另一个 stackoverflow 帖子

我一定是在这里失踪或做错了什么。有任何想法吗?

我怀疑它可能与配置 SystemJS 有关?

4

2 回答 2

0

根据这篇文章,我认为解决方法是将“RouteConfig”更改为“Routes”,并从放置在该数组中的任何路由定义中删除“name”属性。

于 2016-06-07T15:59:06.757 回答
0

决议是

<base href="/">

标签对双引号使用了程式化的字符编码。我(可耻地)承认我一定是从教程中复制了标签并且没有清理双引号字符;学过的知识。

于 2016-06-03T22:39:16.453 回答