码迷,mamicode.com
首页 > 其他好文 > 详细

Angular template ng-template/container/content

时间:2018-10-27 14:45:37      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:content   gif   ntc   img   src   查找   sel   html-2   list   

1. ng-template

  • 形式:<ng-template>...</ng-template>
  • 默认ng-template中的内容会隐藏;
  • 可通过[ngIf]来控制内容显示隐藏;
  • 此标签不会影响原本html结构;

html:


<ng-template [ngIf]="true">
  this is template!
</ng-template>

浏览器输出:

技术分享图片

浏览器调试窗口

技术分享图片

2. template

  • 形式:<template>...</template>
  • 默认内容会隐藏;
  • 可通过Css样式display来控制内容显示隐藏;
  • 此标签会影响原本html结构;

html:


<template style="display: block;">
  block;
</template>

浏览器输出:

技术分享图片

浏览器调试窗口:

技术分享图片

3. ng-container

  • 形式:<ng-container>...</ng-container>
  • 默认内容显示;
  • 可通过*ngIf来控制内容显示隐藏;
  • 此标签不会影响原本html结构;

html:


<ng-container>
  this is container!
</ng-container>

浏览器输出:

技术分享图片

浏览器调试窗口:

技术分享图片

4. ng-content

  • 形式:<ng-content select = ‘DOM标签/class类/id/属性等‘>...</ng-content>
  • 用于内容映射,可以定制可复用组件;
  • 引用此组件时,selector标签中间的内容将投射(或者说插入)到此组件的ng-content中;
  • 此标签上有一个select属性,查找可以与select值相符合的内容,映射到此处;它的值可以为别的组件的selector、html标签、class类或ID等;

(1). 无select属性情况下的代码:


// 子组件

@Component({
  selector: ‘app-child‘,
   template: `<ng-content></ng-content>`
})

// 父组件

@Component({
  selector: ‘app-parent‘,
   template: `

<app-child>内容映射1</app-child>

<app-child>内容映射2</app-child>`
})

浏览器输出:

技术分享图片

浏览器调试窗口:

技术分享图片

(2). 有select属性情况下的代码:

// content-component.html
<div>
  <ng-content select="h3.title"></ng-content>
  <ng-content select="p.intro"></ng-content>
  <div class="content-cmp">
    <ng-content select="app-extra"></ng-content>
  </div>
</div>
// parent-component.html
<app-content>
    <p class=‘intro‘>段落</p>
    <h3 class=‘title‘>标题</h3>
    <app-extra></app-extra>
</app-content>

浏览器输出:

技术分享图片

4-1. 获取 <ng-content></ng-content>映射的内容

  • ContentChild - 获取单个实例
  • ContentChildren - 以QueryList 形式返回多个实例
// content.component.ts
@ContentChild(ExtraComponent) extraCmp: ExtraComponent;

// 获取到之后可以在ngAfterContentInit()方法中操作extraCmp组件实例

Angular template ng-template/container/content

标签:content   gif   ntc   img   src   查找   sel   html-2   list   

原文地址:https://www.cnblogs.com/zero-zm/p/9860804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!