Angular 是否可以将默认值设置为<;天然气含量>;
我刚刚从本教程学习了Angular 是否可以将默认值设置为<;天然气含量>;,angular,default-value,angular2-ngcontent,Angular,Default Value,Angular2 Ngcontent,我刚刚从本教程学习了angular2中的translation用法: 我可以使用标签来显示一些内容,如: <ng-content select="[my-block-header]"></ng-content> 问题是: 是否可以将默认值添加到块中,如果我们没有传递任何值,可以使用该块? 至于现在,若并没有传递任何值,那个么在它的位置上就会出现空白页 编辑: 当我尝试测试时,有较新版本的zone.js不允许显示正确的错误,因此我得到的错误如下: Cannot set
angular2
中的translation
用法:
我可以使用
标签来显示一些内容,如:
<ng-content select="[my-block-header]"></ng-content>
问题是:
是否可以将默认值添加到
块中,如果我们没有传递任何值,可以使用该块?
至于现在,若并没有传递任何值,那个么在它的位置上就会出现空白页
编辑:
当我尝试测试时,有较新版本的zone.js
不允许显示正确的错误,因此我得到的错误如下:
Cannot set property 'stack' of undefined ; Zone: <root> ;
Task: Promise.then ; Value: TypeError: Cannot set property 'stack' of undefined
因此,它确认不能将任何默认值设置为
如果您在
标记中放置一些标记会怎么样
<ng-content select="[my-block-header]">
<p>Some default markup here</p>
</ng-content>
这里有一些默认标记
只需使用:
<ng-content #myBlockHeader select="[my-block-header]"></ng-content>
<div *ngIf="!myBlockHeader">Default Content</div>
默认内容
从angular 10开始,以下工作:
<div #ref><ng-content></ng-content></div>
<ng-container *ngIf="!ref.hasChildNodes()">
Default Content
</ng-container>
默认内容
它给我的错误是:无法设置未定义的属性“stack”;区域:;任务:承诺;值:TypeError:无法设置未定义的属性“堆栈”
Bummer。然后,我不知道如何继续。我们无法在上设置默认值。现在错误消息清楚地提到了它:元素不能有内容。
使用视图封装。Native
您可以使用
或
元素<代码>支持默认内容,不了解
<代码>本机目前还没有得到很好的支持。特别是样式可能会成为一个问题,因为>
或/deep/
将不再有效。有比使用
更好的选择吗?我使用
获得了默认值,但它不允许我重写,除非我使用视图封装。Native
并且正如您之前所说的,它也破坏了我的样式:(此解决方案不适用于我(angular 9)。这里有几个可行的解决方案:这是否回答了您的问题?
<ng-content #myBlockHeader select="[my-block-header]"></ng-content>
<div *ngIf="!myBlockHeader">Default Content</div>
<div #ref><ng-content></ng-content></div>
<ng-container *ngIf="!ref.hasChildNodes()">
Default Content
</ng-container>