在angular 2中,我需要创建一个包含冗余部分的大型html模板。因此,我想创建多个html模板,并通过将它们包含在主html文件中(如angular1中的ng include)将它们放在一起
但是如何在主模板中包含子模板?
例如:
<!-- test.html -->
<div>
this is my Sub-Item
<!-- include sub1.html here-->
</div>
<div>
this is second Sub-Item
<!-- include sub2.html here-->
</div>
-
<!-- sub1.html -->
<div>
<button>I'am sub1</button>
</div>
-
<!-- sub2.html -->
<div>
<div>I'am sub2</div>
</div>
首先让我告诉你,从Angular1中包含
ng。Angular2不支持x
,因此显然,Angular2
中不存在$Compile
。因此,您可以继续使用CRF ComponentFactoryResolver
,如图所示,使用角度上下文动态添加HTML。
演示--(CFR):https://plnkr.co/edit/YdRlULhWQR3L3akAr2eb?p=preview
如果超文本标记语言有角上下文,则应使用
CFR-ComponentFactoryResolver
。
在
sub1.html
中,您有按钮
,您可能想要单击它并触发其单击事件。这可以通过如下所示的CFR
来实现,
你可以用
CRF
做很多事情。这可能是最简单的例子。
@Component({
selector: 'my-app',
template: `
<button (click)="addComponents()">Add HTML (dynamically using CRF)</button>
<h1>Angular2 AppComponent</h1>
<hr>
<div>
<h5>sub1.html goes here</h5>
<div class="container">
<template #subContainer1></template>
</div>
</div>
<hr>
<h5>sub2.html goes here</h5>
<div class="container">
<template #subContainer2></template>
</div>
`,
})
export class App {
name:string;
@ViewChild('subContainer1', {read: ViewContainerRef}) subContainer1: ViewContainerRef;
@ViewChild('subContainer2', {read: ViewContainerRef}) subContainer2: ViewContainerRef;
constructor(
private compFactoryResolver: ComponentFactoryResolver
) {
this.name = 'Angular2'
}
addComponents() {
let compFactory: ComponentFactory;
compFactory = this.compFactoryResolver.resolveComponentFactory(Part1Component);
this.subContainer1.createComponent(compFactory);
compFactory = this.compFactoryResolver.resolveComponentFactory(Part2Component);
this.subContainer2.createComponent(compFactory);
}
}
}
您可以创建sub1 sub2等组件,并在这些子组件上添加这些html文件作为模板。
在主html上分别调用组件选择器。它会起作用的
问题内容: 我正在为使用Jinja模板的服务器使用Flask微框架。 我有一个家长和孩子们的一些所谓的模板和,这些孩子有的模板是相当大的HTML文件,我想以某种分裂他们超过我的工作更好的洞察力。 我的脚本内容: The magic is in : 魔力在于child1.html: 而不是评论: 我有很多html文本,很难跟踪更改并且不犯一些错误,因此很难查找和纠正。 我只想加载而不是全部写入。 我
如何在Thymeleaf中显示包含HTML标记的字符串? 所以这段代码: 在这行代码中,它会在浏览器上生成以下内容: 但是我想在浏览器上显示这个: 测试
问题内容: 我是新手,以前从未使用过PHP。我想从Linux上的HTML文件执行PHP脚本。我需要做什么? 这是我的HTML文件的内容: 问题答案: 您收到什么输出?它只是显示PHP代码吗? 我认为是这样。 为了进行测试,请将文件扩展名更改为,然后再次运行。现在可以用吗? 如果是这样,您将需要将PHP与服务器上的和文件关联。 编辑 这是您要添加到Apache配置中的行:
问题内容: 在以下情况下如何使用包含。目的是在html(部分)文件中使用标记,而不是在模板中(在指令内)定义标记。 我在这里找到了一个很棒的树指令。( 来源)原文: http //jsfiddle.net/n8dPm/ 我没有在指令中定义模板,而是尝试使用包含在内的内容。我还将Angular更新为1.2.0.rc2。更新时间:http://jsfiddle.net/aZx7B/2/ 低于错误 Ty
问题内容: 我在主布局文件中有这个 我的目录结构中有header.html部分模板。 如何在我的应用程序中包含此模板?我认为angular在处理完控制器后会自动包含模板,但是它不起作用。 标头节点应替换为此文件的内容。 问题答案: 包含来自外部文件的模板/ html片段的一种方法是使用指令(doc)。 要么
对于多个页面包含的公共内容,可能会被封装到一个公共模板文件中。 比如左侧导航,文件位置和其他普通模板是一样的,/App1/View/Home/Nav.left.html 其他模板引用局部模板使用标签:{include:模块名称:操作名称} //比如:{include:Public:header} 本文中引用左侧导航模板:{include:Nav:left} //两边是大括号,中间是冒号。 注:局