Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
257 views
in Technique[技术] by (71.8m points)

javascript - 在Angular 2中如何检查是否 <ng-content> 是空的?(In Angular 2 how to check whether <ng-content> is empty?)

Suppose I have a component:(假设我有一个组件:)

@Component({ selector: 'MyContainer', template: ` <div class="container"> <!-- some html skipped --> <ng-content></ng-content> <span *ngIf="????">Display this if ng-content is empty!</span> <!-- some html skipped --> </div>` }) export class MyContainer { } Now, I would like to display some default content if <ng-content> for this component is empty.(现在,如果此组件的<ng-content>为空,我想显示一些默认内容。) Is there an easy way to do this without accessing the DOM directly?(是否有一种简单的方法可以执行此操作而无需直接访问DOM?)   ask by Slawomir Dadas translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Wrap ng-content in an HTML element like a div to get a local reference to it, then bind the ngIf expression to ref.children.length == 0 :(将ng-content包裹在div类的HTML元素中以获取对其的本地引用,然后将ngIf表达式绑定到ref.children.length == 0 :)

template: `<div #ref><ng-content></ng-content></div> <span *ngIf="ref.nativeElement.childNodes.length == 0"> Display this if ng-content is empty! </span>`

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...