当前位置: 首页 > 知识库问答 >
问题:

角度2-同一DOM元素上的两个结构指令[重复]

包谭三
2023-03-14

在使用Angular 2时,我遇到了一个问题:显然我不能将两个结构指令(ngForngIF)放在同一个DOM元素上。
在Angular 1中,这曾经是有效的。例如:

<div ng-repeat="item in items" ng-if="$even">{{item}}</div>

当我用Angular 2尝试类似的东西时:

@Component({
  selector: 'my-app',
  providers: [],
  template: `
    <div>
      <div *ngFor="#item of items; #e = even" *ngIf="e">{{item}}</div>

    </div>
  `,
  directives: []
})
export class App {
  constructor() {
    this.items = ["a","b","c"]
  }
}

什么都没发生。甚至没有错误。

如果我将< code>ngIf指令放在子元素上,它会工作:

<div *ngFor="#item of items; #e = even"><div *ngIf="e">{{item}}</div></div>

但问题是,我不想为此添加子元素。例如,如果它是一个<代码>

我知道Angular 2仍处于测试阶段,但我想知道它是否是一个bug,一个功能,或者可能有一种未记录的方法来实现我想要的东西。

共有1个答案

凌智
2023-03-14

一个元素不支持两个结构指令。另请参阅 https://github.com/angular/angular/issues/4792

相反,嵌套它们,同时使用外部模板语法和内部微语法。

 类似资料:
  • 问题内容: 在使用Angular 2时,我遇到了一个问题:显然我不能在同一个DOM元素上放置两个结构化指令(,)。在Angular1中,这曾经起作用。对于例如: 当我尝试与Angular 2类似的东西时: 没发生什么事。甚至没有错误。 如果我将指令放在子元素上,它将起作用: 但是问题是我不想为此添加一个子元素。例如,如果它是表内的标记,则添加内部将使DOM怪异。 我知道Angular 2仍处于测试

  • 问题内容: 当我尝试在同一元素上嵌套两个指令时,出现以下错误。 嵌套的“ E”指令-要求新的/隔离范围的多个指令 ,我想嵌套两个“ E”隔离范围的指令,就像这个小提琴一样。(要真正重现该问题,您需要取消注释 指令) 我不断收到这个我不了解/不知道如何解决的错误: 这不行吗?谢谢! 问题答案: remove replace: 指令名称为’lw’时为 true .. 那也应该解决。 更新小提琴:更新小

  • 问题内容: 我是一个团队的成员,该团队有大约6个UI开发人员,质量各异,几乎没有Angular经验。许多是承包商,几乎没有代码库经验。该应用程序具有非常漂亮的(复杂的)UI。它支持IE8 +(希望很快会成为IE9 +)。 我们正在为应用程序的主要扩展引入Angular,并且有人要求我为团队编写有关使用Angular的准则。 我们将使用指令来创建精美的UI元素,所有元素均以“ ipwr”为前缀,以避

  • 我不知道我想做的是否可能。我正在尝试创建一个Angular指令,该指令在数据对象上重复并打印出其值以及具有类似结构的第二个不相关对象的值。 我正在开发一个翻译应用程序,其中语言文件的主版本显示在一列中,翻译显示在下一列中。我想通过主对象重复,然后在有翻译的地方显示翻译。我不想合并这两个对象,因为我更喜欢在翻译对象和DOM之间保持双向绑定,以便可以轻松保存。 这正是我想做的: 目标 DOM输出 我作

  • 本文向大家介绍Angular 2 结构指令,包括了Angular 2 结构指令的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我创建了下面的角度指令, ChildDirective ,在 ParentDirective中使用 这正常工作,并且出现了几个子指令。 我想更新 ParentDirective ,以从服务器获取 childDirective 的列表。因此,我更新了 ParentDirective 代码以进行Ajax调用,然后绘制 ChildDirectives 问题是, childDirectives