Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angular 2中element.replaceWith(element.children())的替代方案是什么_Angular - Fatal编程技术网

angular 2中element.replaceWith(element.children())的替代方案是什么

angular 2中element.replaceWith(element.children())的替代方案是什么,angular,Angular,如何在angular 2组件模板内创建可选包装器? 在angular 1.X中,我使用了带有链接函数的指令 ...... var domElement=elem.children(); if(attr.myValue == "false"){ elem.replaceWith(domElement) } ..... 需要在组件模板中执行以下操作: 案例1: <div my-value="true"> <span>This is a span</sp

如何在angular 2组件模板内创建可选包装器? 在angular 1.X中,我使用了带有链接函数的指令

......
var domElement=elem.children();
if(attr.myValue == "false"){
     elem.replaceWith(domElement)
}
.....
需要在组件模板中执行以下操作:

案例1:

<div my-value="true">
   <span>This is a span</span>
</div>

这是一个跨度
预期产量

<div my-value="true>
    <span>This is a span</span>
</div> 

这就是我能做的,得到同样的行为

this.el.nativeElement.outerHTML = this.el.nativeElement.innerHTML;

我不确定这是否是最好的方法,但这很有效。

为什么不使用
*ngIf
?使用Angular 2时,最好避免操作DOM。@Krisholenbeck*ngIf将在false的情况下删除所有子项,但我需要子项。这是作为组件构建的一部分完成的,我想根据某些数据添加或删除包装父项。也许我们不在同一页上。我贴出了答案。让我知道你是否认为这有意义。
<span>This is a span</span>
this.el.nativeElement.outerHTML = this.el.nativeElement.innerHTML;