use*_*732 7 angular2-routing angular
我在Angular中遵循这个路由教程,它只是不起作用.当我使用'comp'选择器来放置它的HTML代码时,它可以正常工作,但是当我尝试使用路由器插座进行路由时,它只显示来自的标头index.html.
我有以下内容:
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]); Run Code Online (Sandbox Code Playgroud)
comp.ts:
import * as ng2 from 'angular2/angular2';
@ng2.Component({
selector: 'comp'
})
@ng2.View({
template: `
<h1>hi<h1>
`
})
export class Comp {
constructor() {
}
}Run Code Online (Sandbox Code Playgroud)
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>Run Code Online (Sandbox Code Playgroud)
突破性的变化被引入 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 ]);
Run Code Online (Sandbox Code Playgroud)
资料来源:
Ajd*_*eek -1
由于您没有提供错误消息,因此这里有一个工作示例https://github.com/ajtowf/ng2_play以及视频教程https://youtu.be/ZsGRiHSaOxM
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |