kittencup / angular2-ama-cn

angular2 随便问
692 stars 101 forks source link

新路由这么写究竟有什么问题,就是无法运行 #192

Open Imporial opened 8 years ago

Imporial commented 8 years ago
/******************************/
/******* 路由配置模块 *******/
/******************************/
import { provideRouter, RouterConfig } from '@angular/router';

import {FuncCtrl} from './commponents/func';
import {DictCtrl} from './commponents/dict';
/**
 * 路由配置数组
 */
export const routes: RouterConfig = [
    { path: '', redirectTo: '/dict', pathMatch:'full' },
    { path: 'func', component: FuncCtrl,children:[] },
    { path: 'dict', component: DictCtrl,children:[] }
];
/**
 * 本地应用路由配置提供程序
 */
export const APP_ROUTER_PROVIDERS = [
    provideRouter(routes)
];
/******************************/
/*******  框架启动模块  *******/
/******************************/

import {bootstrap} from '@angular/platform-browser-dynamic';
import {HTTP_PROVIDERS} from "@angular/http";
//import {ROUTER_PROVIDERS} from '@angular/router-deprecated';
import {Framework} from './framework';
import {APP_ROUTER_PROVIDERS} from './routes';

bootstrap(Framework, [APP_ROUTER_PROVIDERS,HTTP_PROVIDERS]);

根组件配置

@Component({
    selector: 'framework', 
    templateUrl: 'framework.html',
    directives: [ROUTER_DIRECTIVES, MdlRegDirective],      // 需要引用的指令集合

路由锚点

                ……<td class="page-content" (click)="switchNormal()">
                    <router-outlet></router-outlet>
                </td>……

提示 component, redirectTo, children must be provided,这里不是已经提供了这些参数么, 多写一个参数不报异常之后,也根本无法导航到路由页面

Imporial commented 8 years ago

知道问题的症结在什么地方了,之前通过 typescript.js 即时编译运行,且只提供了一个支持注解的配置,这样是不够的,必须照抄绝大部分配置选项。然而,typescript.js 似乎并未提供完整的编译配置,还是必须事先通过 tsconfig.json 设置将ts 编译为 js 才能正确执行。

以上这是在 Visual Studio 下的使用情况。

基本没有代码编写错误,完全是编译配置问题。新路由对编译配置的要求很严格

以上,以资遇到同样问题的后来者