什么是Angular 2模板中的let- *?
我在Angular 2模板中遇到了一个奇怪的赋值语法.
<template let-col let-car="rowData" pTemplate="body"> <span [style.color]="car[col.field]">{{car[col.field]}}</span> </template> 似乎let-col和let-car =“rowData”创建了两个新变量col和car,然后可以绑定到模板内部. 资料来源:https://www.primefaces.org/primeng/#/datatable/templating 这个神奇的let- *语法叫什么? 它是如何工作的? let-something和let-something =“别的东西”有什么区别? 可以使用< ng-container>重写上述代码吗?而不是< template>没有改变最终的DOM结构?
更新Angular 5
ngOutletContext已重命名为ngTemplateOutletContext 另见https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29 原版的 模板(< template>或< ng-template> from 4.x)作为嵌入视图添加并传递上下文. 使用let-col,上下文属性$implicit在模板中可用作绑定. 例如,如果添加模板 <ng-template #myTemplate let-col let-foo="bar"> <div>{{col}}</div> <div>{{foo}}</div> </ng-template> <!-- render above template with a custom context --> <ng-template [ngTemplateOutlet]="myTemplate" [ngOutletContext]="{ $implicit: 'some col value',bar: 'some bar value' }" ></ng-template> 另见this answer和ViewContainerRef#createEmbeddedView. * ng也是这样的.规范语法使这更加明显 <ng-template let-item [ngForOf]="items" let-i="index" let-odd="odd"> <div>{{item}} </ng-template> 其中NgFor将模板作为嵌入视图添加到DOM的每个项目项,并向上下文添加一些值(项,索引,奇数). 另见Using $implict to pass multiple parameters (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- twitter-bootstrap – 添加引导到Jekyll
- angularjs – ng-map:设置缩放级别时无法读取undefined属性
- Laravel源码入门-启动引导过程(二)bootstrap/autoload.p
- 关于webservice的targetNamespace
- 如何在fread中处理Coverity错误TAINTED_SCALAR
- angularjs – 角度和SVG过滤器
- webservice的 Unrecognized xbean element mapping: servic
- shell – 从命令行更改文件夹权限(在mac上)
- typescript – 类型’Observable <{}>'不能分配给&
- bootstrap菜单、按钮及导航学习笔记5-1