小编Pra*_*kar的帖子

在Angular CLI中避免相对路径

我正在使用最新的Angular CLI,并且我创建了一个自定义组件文件夹,它是所有组件的集合.

例如,TextInputComponent具有TextInputConfiguration其放在里面类src/components/configurations.ts,并且在src/app/home/addnewuser/add.user.component.ts其中予使用它有:

import {TextInputConfiguration} from "../../../components/configurations";
Run Code Online (Sandbox Code Playgroud)

这很好,但随着我的应用程序变得越来越大,../我该如何处理?

以前,对于SystemJS,我将配置路径system.config.js如下:

System.config({
..
 map : {'ng_custom_widgets':'components' },
 packages : {'ng_custom_widgets':{main:'configurations.ts', defaultExtension: 'ts'},
)};
Run Code Online (Sandbox Code Playgroud)

如何使用Angular CLI为webpack生成相同的内容?

typescript webpack angular-cli angular

44
推荐指数
4
解决办法
4万
查看次数

重定向到Angular 2 Routing中的新页面

我有一个场景说主页(带有main.html的app.component.ts),它被默认路由

app.component.ts

@RouteConfig([
    {path: '/',name : 'Home' , component : HomeComponent , useAsDefault: true },
    {path: '/user', name : 'User' , component : UserComponent },
    {path: '/about', name : 'About' , component : AboutComponent},
    {path : 'contact', name : 'Contact' , component : ContactComponent}
])
Run Code Online (Sandbox Code Playgroud)

main.html中

<a [routerLink]="['/Home']">Home</a>
<a [routerLink]="['/User']">User Login</a>
<a [routerLink]="['/About']">About</a>
<a [routerLink]="['/Contact']">Contact</a>

<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)

现在让我们说想要使用路由器插座路由的2个组件,但对于用户,我想要路由到整个新页面,即不在路由器插座中.我试过navigate并且navigateByUrl不工作它仍然加载它<router-outlet>.请不要建议window.href

我曾尝试在angular2 /路由器中使用Redirect类,但无法做到需要.

routing angular2-routing angular

8
推荐指数
1
解决办法
4万
查看次数

基于ClassName创建类的实例:string

在任何人将此标记为重复之前,请阅读下文,

我的场景不仅涉及TypeScript,还涉及Angular2.

目的

我需要app.component.ts中的一个方法,它接受一个字符串(Class Name)并创建一个实例.这些类存在于其他ts文件中.

现在用例: 我有一个方法getWidgetObjectFromClassName(className : string) : Object{} 需要返回字符串格式的类名实例.现在问题,

我尝试使用NameSpace并做let instance = new SampleNS['OtherName']();(SampleNS是一个命名空间),在单个文件的情况下工作得很好.

但是现在 我有多个ts文件可以说interfaces.ts,classes.ts,otherclasses.ts.我export namespace SampleNS{}在interface.ts中使用所有工作,接下来在classes.ts中使用/// <reference path="interfaces.ts" />和相同的命名空间SampleNS.

现在我的方法getWidgetObjectFromClassName(className : string) : Object{}是在xyz.ts中,现在我应该给哪个导入?,我的观点是,如果我从'./interfaces'说`import {SampleNS}.这里的问题是我只能导入单个文件的命名空间(即使它是相同的)因此我创建实例仅限于导入该特定文件命名空间.

Plunker Link https://plnkr.co/edit/pt90F34KPsGoHDpSUQFD?p=preview

typescript typescript1.8 angular

7
推荐指数
1
解决办法
5121
查看次数

使用[ngStyle] Angular2隐藏表格数据<td>

我试图使用以下内容隐藏表数据:

<td *ngFor="let tableHeaderItem of gridHeaderData" 
    [ngStyle]="{'hidden' : tableHeaderItem.hidden ? 'none' : 'table-cell'}">
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我尝试删除引号'hidden',hidden但它只是不起作用.

css angular

2
推荐指数
1
解决办法
1029
查看次数