我正在使用最新的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生成相同的内容?
我有一个场景说主页(带有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类,但无法做到需要.
在任何人将此标记为重复之前,请阅读下文,
我的场景不仅涉及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
我试图使用以下内容隐藏表数据:
<td *ngFor="let tableHeaderItem of gridHeaderData"
[ngStyle]="{'hidden' : tableHeaderItem.hidden ? 'none' : 'table-cell'}">
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我尝试删除引号'hidden'
,hidden
但它只是不起作用.