问题标签 [ng-container]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2387 浏览

javascript - 如何在 angular-4.x 中使用类似于 ng-container 的选择器

我正在使用 angular-4.x 和内部组件我正在使用一些“abc”选择器,如下所示:

但是“Abc”标签也存在于 DOM 中,但我希望它表现为“ng-container”,它只反映页面中的子 DOM而不是标签本身。

0 投票
0 回答
3047 浏览

angular - 在 ng-container 中创建动态组件,添加 ng-template 并监控 ngModel

我创建了一个动态组件,我可以从外部向它注入模板。我的目标是能够注入任何模板,在组件内复制这些模板,并以两种方式将数据绑定到它以获取数据更改。

它看起来像这样:

HTML,我有一个add button按钮可以动态添加更多模板,我有一个trash button删除模板:

我像这样使用这个组件:

我正在使用 ng-prime,因此p-dropdown.

所以我想要的是能够创建那些动态组件,向其中注入任何模板,并能够使用这个动态组件复制这个模板。此外,我希望从下拉列表中选择的数据插入到我的数据中,因此ngModel.

我遇到的问题:

  • 我不确定这是否是实现我目标的最佳设计。回复的index那个,对我来说似乎很尴尬。
  • 基本上它正在工作,除了splice部分。当我spliceing 时,数据模型在再次渲染后获取新索引container,一切都一团糟,数据不在sit应有的位置。我也考虑过发送数据并让组件管理它,但我不确定这是正确的做法,甚至不确定如何去做。

如果有不清楚的地方,我将不胜感激您的建议并添加信息。

更新 1: 添加plnkr

如您所见,我正在添加元素,当我尝试删除它们时,它会从底部删除。我必须知道我的基本方法是否良好,然后才能确定如何相应地删除和更新我的数据数组。

0 投票
2 回答
10608 浏览

forms - 具有嵌套组的Angular 4动态表单

我想从树结构中生成一个反应形式。

这是创建表单项(表单组和控件)的代码。对于嵌套在表单组中的控件,我使用递归模板。

完美地生成了 HTML 表单。但是当我将formControlName指令添加到输入时,HTML 生成中断。然后我得到这样的错误:

0 投票
1 回答
1912 浏览

angular - 在嵌套 *ngFor 循环中访问索引

这对我的项目来说是一个非常特殊的问题,所以如果它是愚蠢的,那么请放过我。

我正在 Angular 中构建一个动态表,其中每一行是一个单词,列是语言,每个单元格是该语言的相应翻译。

所以问题是我必须跟踪用户单击了哪个表格单元格,以便我可以创建或更新该单元格的值。

代码是这样的:

需要帮助:我需要在我的 TranslationClick方法中获取 ng-container 中 *ngFor 的索引 k,如下所示:

我知道ng-container*ngFor 循环是在第一个循环之后创建的,但是有什么方法可以让我事先获得该单元格的索引 k。

或者有没有其他更好的方法来跟踪表格的各个单元格?

0 投票
2 回答
2282 浏览

angular - 通过 ngTemplateOutlet 使用 TypeScript 枚举作为 Angular 模板变量名

我看过这样的问题。但这并不能完全回答我的问题。我想将局部变量名称绑定到枚举的值,如以下(高度简化)示例:

certain-state.component.ts

certain-state.component.html

编辑: 我认为解决方案在以下答案中:How to use a typescript enum value in an Angular2 ngSwitch statement。你们有什么感想?

0 投票
1 回答
2966 浏览

javascript - 为什么显示我的 td 标签和模板元素的 ng-container 不显示我的 td 标签?

td如果我的陈述属实,我想显示 标签。所以我正在使用 <template>元素来检查这种情况。但是在渲染屏幕后,我看不到元素td内的标签template

在此处输入图像描述

但如果使用<ng-container>元素而不是元素,它会正常工作<template>

在此处输入图像描述

问题 : -

  • 为什么ng-container显示我的td标签和template元素不显示我的td标签?

  • 解释我什么时候会使用ng-template而不是ng-container

0 投票
0 回答
1365 浏览

angular - 角度 4 ngForOf

从 Angular 4开始, NgFor 已弃用

我可以看到他们已经链接NgForNgForOf

https://github.com/angular/angular/blob/09d9f5fe54e7108c47de61393e10712f8239d824/packages/common/src/directives/ng_for_of.ts#L205

它们还具有NgForOf 的语法,类似于 NgFor。

IE

<ng-template>

我正在使用NgContainer而不是NgTemplate它仍然可以完美地工作,就像我在下面用于NgFor

NgContainer 中 NgForOf 的正确用法是什么?

我在文档中也看不到NgForOf与 NgContainer 的正确语法用法。

如果问题不清楚,将根据要求更新。

0 投票
3 回答
6249 浏览

angular - Angular - 使用 ng-container 循环问题

我想使用 ng-container 从 ngFor 中调用 ng-template

我的列表是一个数组,并且有一个对象列表。对象的一个​​属性是标题 - 在 ng 模板中可以看到。

html:

注意:问题是 let-item 似乎未定义或为空对象。这很奇怪,因为我把它传进去了。

0 投票
1 回答
576 浏览

angular - 当具有多列数据时,Angular 2 ngIf 和 NgFor 会中断

我有一个 Angular 2 代码,我使用 *ngFor 在某个包中循环,然后我使用 ngIf 作为表头,然后相应地显示值。问题是当桌子只有一个包时,它工作得很好。当我有多个包时,代码会在那个时间点分解。当包只有一列数据时它可以正常工作,但是当它有多个数据时意味着点击功能的多列 - “全选并取消全选”停止工作。有人可以指导下面的代码中可能出现的问题。

0 投票
1 回答
2494 浏览

angular - 两者之间是否有性能差异?

<ng-container>我对和有疑问<ng-template>。在我们的代码中使用哪个更好。我已经在 SO 上阅读关于这两个标签之间区别的答案。它通过转换说 Angular 编译器去糖(让它有点复杂)

对此

所以我担心<ng-template>会影响浏览器中的渲染性能,<ng-container>而这两个中的哪一个应该被优先考虑?