Comment le mot clé suivant est-il utilisé dans angular2 ng-templates
$implicit
dans les modèles angulaires 2? let-<attribute>
et $implicit
?Vous pouvez définir une variable locale sur ng-template
à let-name
Quand angular crée un modèle en appelant createEmbeddedView
, il peut également transmettre le contexte qui sera utilisé dans ng-template
.
L'utilisation de la clé $implicit
dans l'objet contexte définira sa valeur par défaut. Donc si on écrit:
vcRef.createEmbeddedView(template, { $implicit: 'value' })
et nous avons un modèle
<ng-template let-foo>
{{ foo }}
</ng-template>
alors on peut y penser comme
<ng-template let-foo="$implicit">
{{ foo }}
</ng-template>
alors foo
sera égal à value
Par contre si nous avons un contexte comme:
{ bar: 'value' }
nous devons déclarer une variable comme:
let-foo="bar"
For multiple variables, you should do something like below,
A template would be:
<ng-template [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{$implicit: 'Hello', key2: 'value2', key3: 'value3'}"> </ng-template>
then
<ng-template #template let-default let-key2="key2" let-key3="key3">
{{default}}
{{key2}}
{{key3}}
</ng-template>
so, output will be,
default = Hello
key2 = value2
key3 = value3