如何在angular2 ng模板中使用以下关键字
$implicit在角2模板中的用途是什么?let-<attribute>与$implicit的关系是什么?发布于 2017-07-12 10:58:25
可以通过ng-template通过let-name定义局部变量。
当角通过调用createEmbeddedView创建模板时,它还可以传递将在ng-template中使用的上下文
在上下文对象中使用键$implicit将其值设置为默认值。所以如果我们写:
vcRef.createEmbeddedView(template, { $implicit: 'value' })我们有模板
<ng-template let-foo>
{{ foo }}
</ng-template>然后我们可以把它想成
<ng-template let-foo="$implicit">
{{ foo }}
</ng-template>所以foo将等于value
另一方面,如果我们有这样的背景:
{ bar: 'value' }我们必须声明如下的变量:
let-foo="bar"发布于 2018-10-08 04:16:54
对于多个变量,您应该执行如下操作,模板如下:
<ng-template [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{$implicit: 'Hello', key2: 'value2', key3: 'value3'}"> </ng-template>然后
<ng-template #template let-default let-key2="key2" let-key3="key3">
{{default}}
{{key2}}
{{key3}}
</ng-template>所以,输出将是,
default = Hello
key2 = value2
key3 = value3发布于 2019-07-23 20:35:41
如果您只需要从要引用它的容器中向模板传递一个变量,我们可以使用
<ng-container *ngTemplateOutlet="deleteClient;context: firstName">
</ng-container>像这样使用它。
<ng-template #deleteClient let-client="firstName">
Are you sure? Want to remove {{ client }} !
</ng-template>当您必须将对象self传递给模板时,我们可以使用
<ng-container *ngTemplateOutlet="deleteClient;context: { $implicit: client }">
</ng-container>像这样使用它。
<ng-template #deleteClient let-client>
Are you sure? Want to remove {{ client.firstName }} {{ client.lastName }}!
</ng-template>https://stackoverflow.com/questions/45055384
复制相似问题