我正在尝试设置一个标签系统,允许组件自己注册(带标题).第一个选项卡就像一个收件箱,有大量的操作/链接项可供用户选择,每个点击都应该能够在点击时实例化一个新组件.动作/链接来自JSON.
然后,实例化的组件将自己注册为新选项卡.
我不确定这是否是"最佳"方法?Sofar我见过的唯一指南是静态标签,这没有帮助.
到目前为止,我只有主要引导的标签服务在整个应用程序中持续存在,看起来像这样的东西.
export interface ITab { title: string; }
@Injectable()
export class TabsService {
private tabs = new Set<ITab>();
addTab(title: string): ITab {
let tab: ITab = { title };
this.tabs.add(tab);
return tab;
}
removeTab(tab: ITab) {
this.tabs.delete(tab);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
DynamicComponentBuilder会被使用吗?ng-content,但我找不到有关如何使用它的更多信息编辑:尝试澄清
将收件箱视为邮件收件箱,将项目作为JSON提取并显示多个项目.单击其中一个项目后,将创建一个新选项卡,其中包含该项操作"类型".然后类型是一个组件
Edit2:图片
这是我的Angular2应用程序,其中包含表格中的输入字段.我的数据显示在select标签上,但使用ngModelon input标签绑定的数据未显示在input字段中.
<form name="userForm">
<table>
<tr *ngFor="let item of itemList; let in =index">
<td><select><option >{{item.FirstName}}</option></select></td>
<td><input type="text" id="lastname" name="lastname" [(ngModel)]="itemList[in].lastname"></td>
<td><input type="text" id="middlename" name="middlename" [(ngModel)]="itemList[in].middlename"></td>
</tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud) 假设我有一个数组[1,2,3]。我想迭代所有项目并将每个项目绑定到ngModel。当我在更改第一个元素后运行此代码时,第二个元素获得相同的值。有什么问题?
<div *ngFor="let x of array; let i = index;">
<input type="number" [(ngModel)]="x[i]">
</div>
Run Code Online (Sandbox Code Playgroud)