Angular2 路由

标签 angular angular2-routing

我正在关注 this Angular 中的路由教程,它就是行不通。当我使用“comp”选择器放置它的 HTML 代码时,它可以工作,但是当我尝试使用路由器 socket 对其进行路由时,它只显示来自 index.html 的 header 。

我有以下内容:

main.ts:

import * as ng from 'angular2/angular2';
import {Comp} from './comp';
@ng.Component({
    selector: 'my-app'
})
@ng.View({
    directives: [ng.formDirectives, ng.RouterOutlet],
    template: `
    <nav>
      <ul>
        <li>Start</li>
        <li>About</li>
        <li>Contact</li>
      </ul>
    </nav>
    <main>
      <router-outlet></router-outlet>
    </main>
  `
})
@ng.RouteConfig([{ path: '/', component: Comp }])
class AppComponent {
}
ng.bootstrap(AppComponent, [ng.routerInjectables]); 

comp.ts:

import * as ng2 from 'angular2/angular2';
@ng2.Component({
    selector: 'comp'
})
@ng2.View({
    template: `
    <h1>hi<h1>
  `
})
export class Comp {
    constructor() {
    }
}

index.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Test3</title>
    <script src="lib/traceur/traceur.js"></script>
    <script src="lib/system.js/dist/system.js"></script>
    <script src="lib/angular2-build/angular2.js"></script>
    <script src="lib/angular2-build/router.dev.js"></script>
    <script>
        System.config({
            packages: { 
                'js': {
                    defaultExtension: 'js'
                } 
            }
        });
        System.import('/js/main');
    </script>
</head>
<body>
    <h1>Hello There</h1>
    <my-app></my-app>
</body>
</html>

最佳答案

angular@2.0.0-alpha.41 中引入了重大更改

  • routerInjectables 已重命名为 ROUTER_BINDINGS

  • ROUTER_BINDINGS 随后重命名为 ROUTER_PROVIDERS

另外:最近有很多重大变化,所以几乎没有一个在线示例是可靠的。

使用ROUTER_PROVIDERS

它包括:

  • RouteRegistry - 已定义路由的注册表
  • LocationStrategy = PathLocationStragety - 按路径匹配路由

这基本上是使用默认设置引导路由器的快捷方式。

例如:

@Component ({
...
})
@View ({
...
})
@RouteConfig ({
...
})
class App {}

bootstrap(App, [ ROUTER_PROVIDERS ]);

来源:

关于Angular2 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099933/

相关文章:

javascript - *ngFor 即使变量存在也无法处理 html

node.js - 如何以正确的方式从response.body中获取数据?

angular - 如何使用routeLink创建多个参数

angular - 如何正确设置 angular2 路由中的应用程序上下文路径?

angular - ngx-datatable 不能在环境上下文中声明访问器

angular - forEach 不是函数 Ionic 2

angular - 在表格组件内显示 mat-chips

angular - Nativescript Angular Android 应用程序强制灯光模式不起作用

angular - 服务可观察在组件 NgOnInIt 中不起作用 - Angular2

angular - 如何升级 Angular 2 中的路由器版本?