2017-09-29 27 views
1

我找到的所有解决方案都使用html和children.length,比如this one。 我发现this great article,但正如作者所说,这个帖子是Angular4中的一个新旧功能,可能会更好。检查ng内容是否为空,如果没有在模板中用于其他组件(Angular 2+)

我的问题是,我有一个模板,可以改变一个组件:

<kendo-dropdownlist> 
    <ng-template kendoDropDownListItemTemplate let-dataItem> 
     <div>Some template</div> 
    </ng-template> 
</kendo-dropdownlist> 

我在另一个组件,在这里我想提供用户选择通过<ng-content>更改模板或不使用该组件。

事情是这样的:

//my-component 
<kendo-dropdownlist> 
    <ng-template *ngIf="CheckIfNgContentIsNotEmpty" kendoDropDownListItemTemplate let-dataItem> 
    </ng-template> 
</kendo-dropdownlist> 

这可能与Angular4?

例如:

<my-component></my-component> //this should NOT render <ng-template *ngIf="CheckIfNgContentIsNotEmpty" kendoDropDownListItemTemplate let-dataItem></ng-template> 

<my-component><div>Foo</div></my-component> //this should render <ng-template *ngIf... 

回答

-1

采用了棱角分明四是可能的,

ngIf与其他:现在可以用在你的模板的其他语法如下所示:

语法:

<p *ngIf="condition; else elseBlock"> 
some stuff 
</p> 

<ng-template #elseBlock> 
<p>some other stuff 
</p> 
</ng-template> 
+0

不知道如何使用组件模板中的其他内容。什么是条件?我正在寻找如何获得条件。 – Makla

+0

条件是您想要显示组件的时间。你可以分享你的条件和组件我会给样品 – rJ7

+0

我总是想显示组件。但有时我想定义模板(当ng-content不是空的时候),有时候不会(使用默认的组件模板)。我认为我最后的代码(例如标签)描述了我想实现的目标。 – Makla

相关问题