我想知道在角度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的模板指令。
答案 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行模板,那么将它切换成可读且更易维护的块是非常可取的。您可以在根组件中添加组件提供程序的位置