在angular4及更高版本中引用模板URL,如ng-include

时间:2017-11-01 13:50:39

标签: angular angular2-template

我想知道在角度4及以上是否有一种简单的方法在模板中使用模板url,就像在ng-include中一样。

情形: 我知道组件架构,但在我的一个组件中,我有400行模板,并希望将其移动到块中,如 a.html b.html 和在我的 component.html 中将其引用为

<template *ngTemplateOutlet="a html templateUrl here"></template>
<template *ngTemplateOutlet="b html templateUrl here"></template>

如果我使用组件,那么我需要将对象传递给子(因为组件充​​当子组件) 我想减少我的代码而不对子组件感兴趣,在angularJS中使用范围为false的模板指令。

1 个答案:

答案 0 :(得分:0)

你不能这样做,如果你真的不想创建子组件,你可以做什么,而不是使用templateUrl,使用template并导入{{ 1}}字符串:

<强> ./模板/ templateA.ts

html

<强> ./模板/ templateB.ts

export const templateA: string = `
   <div>templateA</div>
`;

<强> ./模板/ templateC.ts

export const templateB: string = `
   <div>templateB</div>
`;

<强> ./模板/ index.ts

export const templateC: string = `
   <div>templateC</div>
`;

实际组件

export {templateA} from './templateA';
export {templateB} from './templateB';
export {templateC} from './templateC';

我想强调的是,如果你的组件超过400行模板,那么将它切换成可读且更易维护的块是非常可取的。您可以在根组件中添加组件提供程序的位置