当前位置: 首页 > 面试题库 >

Angular 2-同一DOM元素上的两个结构指令

强承望
2023-03-14
问题内容

在使用Angular 2时,我遇到了一个问题:显然我不能在同一个DOM元素上放置两个结构化指令(ngForngIf)。在Angular1中,这曾经起作用。对于例如:

<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"]
  }
}

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

如果我将ngIf指令放在子元素上,它将起作用:

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

但是问题是我不想为此添加一个子元素。例如,如果它<tr>是表内的标记,则添加div内部将使DOM怪异。

我知道Angular 2仍处于测试阶段,但是我想知道这是一个错误,一个功能还是可能存在一种未记录的方式来实现我想要的功能。


问题答案:

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

而是在使用模板语法作为外部语法和内部语法为微型语法时嵌套它们。



 类似资料:
  • 在使用Angular 2时,我遇到了一个问题:显然我不能将两个结构指令(,)放在同一个DOM元素上。 在Angular 1中,这曾经是有效的。例如: 当我用Angular 2尝试类似的东西时: 什么都没发生。甚至没有错误。 如果我将< code>ngIf指令放在子元素上,它会工作: 但问题是,我不想为此添加子元素。例如,如果它是一个<代码> 我知道Angular 2仍处于测试阶段,但我想知道它是否

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

  • 除了简单的单向绑定和双向绑定,MVVM还有一个重要的用途,就是让Model和DOM的结构保持同步。 我们用一个TODO的列表作为示例,从用户角度看,一个TODO列表在DOM结构的表现形式就是一组<li>节点: <ol> <li> <dl> <dt>产品评审</dt> <dd>新款iPhone上市前评审</dd>

  • 现在我希望从基于id的XPath生成唯一的基于类的XPath。Firepath生成的类XPath可能指向多个元素,而不是唯一的。但是firepath生成的id XPath总是唯一的,即指向单个元素。 所以,我正在尽可能地生成两个之间的映射。但我需要测试以下内容: 以确保我创建的类xpath对应于所需的DOM元素。任何帮助都将得到高度赞赏。我希望生成的xpath示例是: 目标是减少xpath的深度,

  • DocBook 中的一些元素,在发布的时候会作为条目被收进目录。它们表示的是文档内部的结构,所以它们是结构元素,如下: <set> <book><part><chapter> <sect1> <sect2> ………… </sect2> </sect1></chapter> </part> </book> </set> 如果 DocBook 的根元素是art

  • 我想知道Jsoup中是否有任何方法可以区分同一类中的多个元素。为了澄清,请考虑下面的HTML片段,我需要检索类名“description”,但我需要区分一个信息和另一个信息。 谢谢大家!