使用$ implict传递多个参数

Mic*_*ips 4 html angular

我有一个递归的模板,类似于下面的内容:

<ng-container *ngTemplateOutlet="testTemplate; context: {$implicit:jsonObj1}">
</ng-container>

<ng-template #testTemplate let-Json1>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

它工作正常,我使用$ implicit发送jsonObj1,但我想发送两个参数,如果我尝试:

context: {$implicit:jsonObj1, $implicit:jsonObj2}
Run Code Online (Sandbox Code Playgroud)

并尝试使用

<ng-template #filterTemplate let-Json1 let-json2>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

它不起作用,让我知道,如何传递两个参数.

Gün*_*uer 11

你不需要使用 $implicit

您可以使用

1:

context: {$implicit:jsonObj1, b:jsonObj2}
Run Code Online (Sandbox Code Playgroud)

<ng-template #filterTemplate let-json1 let-json2="b">
  <div>{{json1}}</div></div>{{json2}}</div>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

或2:

context: {$implicit: {a: jsonObj1, b:jsonObj2}}
Run Code Online (Sandbox Code Playgroud)

<ng-template #filterTemplate let-json1>
  <div>{{json1.a}}</div></div>{{json1.b}}</div>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

或3:

context: {a:jsonObj1, b:jsonObj2}
Run Code Online (Sandbox Code Playgroud)

<ng-template #filterTemplate let-json1="a" let-json2="b">
  <div>{{json1}}</div></div>{{json2}}</div>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

  • 最佳答案。通常,人们会搜索第三种情况。 (7认同)