我正在尝试让 ngPlural 使用 Angular 版本 4.0.3 工作,如 api 中所述:https://angular.io/api/common/NgPlural
<some-element [ngPlural]="value">
<ng-template ngPluralCase="=0">there is nothing</ng-template>
<ng-template ngPluralCase="=1">there is one</ng-template>
<ng-template ngPluralCase="few">there are a few</ng-template>
</some-element>
当我使用 [ngPlural] 时,我收到模板引用的错误 No provider TemplateRef!
。如果我删除它并使用 *ngPlural 我也会收到错误
没有 NgPlural 的提供商!
我认为我不需要将其添加为提供程序,因为它来自 Angular 公共(public)库,例如 *ngIf 和 *ngFor,并且它们在连接公共(public)库后即可工作。
文档是否是最新的 v4.0.3?
我怎样才能让它在我的模板中工作?
更新:
我添加了一个plunker来展示这个问题:https://plnkr.co/edit/SQwRWjVEJjpQMVkWO1G4?p=preview
最佳答案
您可以使用扩展形式,例如:
<div [ngPlural]="value" class="testParent">
<ng-template ngPluralCase="=0">
<square class="testBox1"></square>
</ng-template>
<ng-template ngPluralCase="=1">
111
</ng-template>
</div>
<强> Plunker Example
或缩写形式:
{ value, plural, =0 {<square class="testBox1"></square>} =1 {111} }
<强> Plunker Example
关于angular - 无法让 ngPlural 运行 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45782080/