如何在不创建虚拟组件的情况下获取TemplateRef <t>?

时间:2019-04-03 08:19:20

标签: angular

我想获得var result = voltageTextCombinations.SelectMany( // parameter collectionSelector: // input a source element (= one voltageTextCombination) // output a sequence (= the text of the combination split into Watts combination => combination.Text.Split(separatorChars), // parameter resultSelector: take one source element, and one of every watt // to make a Voltage - Watt combination (voltageTextCombi, splitString) => new { Voltage = voltageTextCombi.Voltage, Watt = splitString, }) // convert every Voltage-Watt combination to one string: .Select(voltageWattCombi => String.Format(strFormat, voltageWattCombi.Watt, voltageWattCombi.Voltage)); 作为提供的值。

例如:

TemplateRef<T>

但是获得我知道的export class SumDirective { constructor( @Inject(SUM_TEMPLATE) private providedTemplate: TemplateRef<ISumTemplateContext> ) {} } 的唯一方法是在模板中使用TemplateRef<T>创建组件。

<ng-template>

我已经使用这种方法编写了一个示例,但看起来有些混乱。

Example on stackblitz

所以,我的问题:
如何以更正确的方式获得@Component({ selector: 'sum-template', template: ` <ng-template #template let-data> <pre>a + b = {{ data.a }} + {{ data.b }} = {{ data.sum }}</pre> </ng-template> `, }) export class SumTemplateComponent { @ViewChild('template') public template: TemplateRef<ISumTemplateContext>; } 的依赖项注入?

P.S。实际上,这个问题是关于可定制的组件(例如复杂选择)

0 个答案:

没有答案