Angular 使用ngContainer还是ngTemplate?
我有一个网格,标题很长。海德书名包含两个词。如果我不使用可调整大小的列,就很难看到标题。所以我想把标题分成两行;每行显示一个单词。例如,标题标题为Company VeryVerylongName。我想分为公司和公司 我想我可以在剑道ui列中使用ngContainer或ngTemplate 那么选择是什么呢 或 如果使用嵌套结构指令,如*ngIf或*ngFor 可能有令人讨厌的语法,如果您需要要标记的视图片段,可以使用该语法。: 如果使用嵌套结构指令,如*ngIf或*ngForAngular 使用ngContainer还是ngTemplate?,angular,kendo-ui-angular2,Angular,Kendo Ui Angular2,我有一个网格,标题很长。海德书名包含两个词。如果我不使用可调整大小的列,就很难看到标题。所以我想把标题分成两行;每行显示一个单词。例如,标题标题为Company VeryVerylongName。我想分为公司和公司 我想我可以在剑道ui列中使用ngContainer或ngTemplate 那么选择是什么呢 或 如果使用嵌套结构指令,如*ngIf或*ngFor 可能有令人讨厌的语法,如果您需要要标记的视图片段,可以使用该语法。: 如果使用嵌套结构指令,如*ngIf或*ngFor 可能有令人讨厌的语
可能有令人讨厌的语法,如果您需要要标记的视图片段,可以使用它。可以为列设置所需的宽度,并使用样式属性“空白:正常” 用于设置自定义剑道网格标头模板 : 空格序列被折叠。中的换行符 源代码的处理方式与其他空白相同。线断为 填写行框所必需的 因此,整个代码应该如下所示:
<kendo-grid [data]="gridData">
<kendo-grid-column field="Id" >
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="Company VeryVerylongName" [width]="180">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
<span style="white-space: normal">{{column.field}}({{columnIndex}})</span>
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="Contact VeryVerylongName">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="ContactTitle">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="City">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
</kendo-grid>
可以在中看到。可以为列设置所需的宽度,并使用样式属性“空白:正常” 用于设置自定义剑道网格标头模板 : 空格序列被折叠。中的换行符 源代码的处理方式与其他空白相同。线断为 填写行框所必需的 因此,整个代码应该如下所示:
<kendo-grid [data]="gridData">
<kendo-grid-column field="Id" >
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="Company VeryVerylongName" [width]="180">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
<span style="white-space: normal">{{column.field}}({{columnIndex}})</span>
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="Contact VeryVerylongName">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="ContactTitle">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
<kendo-grid-column field="City">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
{{column.field}}({{columnIndex}})
</ng-template>
</kendo-grid-column>
</kendo-grid>
可以在上看到。我认为这两种选择都不适合您的情况
是Angular元素,用于在主体元素上需要多个结构指令的情况,例如,在同一元素上需要*ngFor和*ngIf。在这种情况下,你可以把。一旦对模板求值,DOM中将只包含元素的内容,但会将其自身排除在外,这样就不会引入其他级别的HTML,这就是为什么不能将任何样式绑定到它的原因
另一方面,它的内容在默认情况下从不显示!它对于定义可重复块或某些回退的模板非常有用,但您必须显式地“调用”它,使其显示在屏幕上
一个非常流行的用例是ngIfElse用例:
你好{{name}
你好,陌生人!
如果定义了名称,您将在屏幕上看到带有名称的Hello,否则您将看到Hello anonymous。与ng容器类似,DOM中只包含ng模板的内容,而这个元素本身无法设置样式
在您的情况下,尝试使用简单的块并在其上添加一些样式,您应该能够实现您想要的
为了更好地理解,我建议您和我认为这两种选择都不适合您的情况
是Angular元素,用于在主体元素上需要多个结构指令的情况,例如,在同一元素上需要*ngFor和*ngIf。在这种情况下,你可以把。一旦对模板求值,DOM中将只包含元素的内容,但会将其自身排除在外,这样就不会引入其他级别的HTML,这就是为什么不能将任何样式绑定到它的原因
另一方面,它的内容在默认情况下从不显示!它对于定义可重复块或某些回退的模板非常有用,但您必须显式地“调用”它,使其显示在屏幕上
一个非常流行的用例是ngIfElse用例:
你好{{name}
你好,陌生人!
如果定义了名称,您将在屏幕上看到带有名称的Hello,否则您将看到Hello anonymous。与ng容器类似,DOM中只包含ng模板的内容,而这个元素本身无法设置样式
在您的情况下,尝试使用简单的块并在其上添加一些样式,您应该能够实现您想要的
为了更好地理解,我建议您和我考虑了简单块。例如,使用两个div。但是仍然需要这些块来放置容器。它不能直接放在剑道格栏中。这是我的问题…也许我们考虑了NG模板?我想到了简单的块。例如,使用两个div。但是仍然需要这些块来放置容器。它不能直接放在剑道格栏中。这是我的问题…也许我们考虑NG模板?