问题标签 [ng-template]

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 投票
2 回答
3225 浏览

angular - angular2 条件 ng-template 与条件 div

我正在尝试找出 Angular2 结构指令,目前,我无法发现 conditionaldiv和 conditional之间的区别ng-template

从技术上讲,这段代码:

将使用此代码执行相同的工作:

根据官方文档:“*星号是更复杂的东西的“语法糖”。在内部,Angular 将ngIf 属性转换为一个<ng-template>元素,包裹在宿主元素周围。

Also, according to Angular University Blog : "Angular is already using ng-template under the hood in many of the structural directives that we use all the time: ngIf, ngFor and ngSwitch." (following the documentation above)

So, when it comes to write the statement in html, in simple words which is one is the proper one to render content conditionally and why. Any help is welcome!

0 投票
1 回答
2407 浏览

angular - 如何获取 ng-template(Angular 6) 中的值?

嗨,大家好,

我无法从外部获取“#carouselProgress”中“model2.progress”的值。我能为它做些什么?

0 投票
1 回答
4013 浏览

angular - 如何包装 Angular 组件并将 ng-template 从外部组件传递到内部组件

我正在使用 Angular 5 并尝试将ng-select包装在自定义组件中。我的理由是封装它,以便在需要时可以轻松更换。如果有更好的方法来做到这一点,请告诉我。

我创建了一个自定义组件,我有各种 @Inputs() 依次传递给内部 ng-select。这一切都很好。

我的问题是如何正确地将 ng-select自定义模板传递给包装的 ng-select?

这是我到目前为止的一个例子,为了简单起见,我省略了一些输入。

这就是我调用传入自定义模板的包装器的方式:

在包装器组件中,我将模板声明如下:

这是包装器组件html:

上面确实渲染了模板,但标签和选项的所有样式都丢失了,只是在白色背景上显示为文本。

我一定遗漏了一些东西,我怎样才能让样式正确渲染?

另一个问题是 ng-select 在每个标签上都有一个关闭按钮,可以将其从所选项目中删除,还有一个关联的 clear() 方法 - 但是当我在 ng-select 之外的模板中使用它时,它无法识别,例如

如何在 ng-select 之外的 ng-template 中使用 clear(),有什么方法可以获取对它的引用并调用它吗?

谢谢。

0 投票
0 回答
111 浏览

angular6 - ngModel 字段(单击、聚焦)的任何更改都会强制 ngTemplateOutlet 重新渲染

需要一些帮助....我有用于编辑表格行的动态模板

但是当我专注于输入和任何更改时 - 我的模板正在重新渲染......并且我失去了原始数据......

请告诉我正确的方法

0 投票
1 回答
467 浏览

angular - 有没有办法有条件地将属性值对添加到 Angular2+ 中的元素声明?

我正在尝试创建一个包装器模板,该模板将包含基于特定条件的特定属性值对。附加属性值对将是我能想到的最优雅的解决方案......

类似于上面的伪代码。

我已经探索了使用 [attr.directive-name]="condition ? someVal : null" 方法有条件地应用指令,但这对于处理我的所有用例来说并不可靠。

有关更多信息,我正在使用 primeNG 的 p-table。我的包装模板是根据输入条件生成特定类型的表(即条件 1 创建一个行可选择的表,条件 2 创建一个不可选择的表等)。

我希望有一些类似于下面的伪代码的解决方案。

0 投票
1 回答
5740 浏览

angular - ngFor内的Angular 2+ NgTemplateOutlet

我们有一些数组,例如:

  • heroes: Hero[];
  • villains: Villain[];
  • ...
  • puppies: Puppy[]

和一个模板

*ngFor循环具有所有相同的内容。为了简化这一点,我们创建了一个ng-template我们可以重用的。

现在我们想像这样使用它:

在这里我失败了。我找到了整个*ngFor循环在模板中以及如何从组件本身传递值的示例,但我没有设法将 a<ng-template>插入 for 循环并正确传递变量(单个)。

编辑 解决。一切都很好,但初始化ng-template

0 投票
1 回答
1450 浏览

angular - 如何使用模板引用变量访问 ng-template 中模板的内容

我想知道是否可以ng-template使用模板引用变量访问模板组件?我曾尝试使用 @ViewChild 和 @ContentChild 但它们似乎都不起作用示例:我想访问 app-common 的内容

0 投票
1 回答
2662 浏览

angular - 如何将点击处理程序附加到投影的内容元素

我正在使用内容投影将按钮放入组件中。

和组件:

到目前为止一切顺利......但我现在想向该按钮添加一个(单击)事件侦听器,并且我希望处理程序存在于接收投影内容的组件中。

我希望执行以下操作来访问本机元素,然后添加一个点击侦听器。

不幸的是,当我在 ngAfterViewInit 中控制台记录 this.btn 时,我得到一个“未定义”。即使它确实有效,我认为必须有一种比访问本机元素更具角度的方式来附加侦听器。

实现这一目标的最佳方法是什么?

stackblitz 示例:https ://stackblitz.com/edit/angular-cj4bz1?file=src%2Fapp%2Fhello.component.ts

0 投票
1 回答
47 浏览

listview - NativeScript ListView 不工作。我没有看到数据

我有task-component.ts包含userTaskList数组中的一些数据。现在我想向用户显示这些数据。

我想用来<ListView>显示数据。

这是我所做的:

任务组件.ts:

任务组件.html:

当我运行它时,我没有得到任何扩展,甚至按钮都消失了。我看到的只是空白页。

你能告诉我我做错了什么吗?谢谢 !

0 投票
2 回答
7872 浏览

angular - 如何调用一个函数让变量声明Angular 4

我有一个函数,它从 typescript 函数作为对象返回颜色、文本颜色和日期值。我想将其存储在 let 变量中。我可以直接使用该函数,但不想复制函数的调用。

这给了我错误,例如找不到“年份”