第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

ng-template,ng-content,ng-container

標(biāo)簽:
AngularJS

ng-template


<ng-template #temp>  测试文本</ng-template>

我们可以看到ng-template在页面渲染之后的样子
https://img1.sycdn.imooc.com//5ac07ea100015ac506440102.jpg

除了<!---->证明它的痕迹以外什么都没有

元素<template>

什么是<template>呢,它是2013年以后才出来的一个元素,是用来声明“模版元素”的。
我们在上面的代码下面将<template>的使用加入进去

<ng-template #temp>  
    测试文本
</ng-template>
<template>  
    测试文本
</template>

https://img1.sycdn.imooc.com//5ac07ec200011da907160130.jpg

页面中还是什么都不显示,但是我们在<template>元素上加入css样式display:block;
页面中就会出现

https://img1.sycdn.imooc.com//5ac07ece00016ad807020198.jpg

这说明<template>元素是一个自带display:none的隐藏元素,只不过二者隐藏的方式不同

<ng-template>的功能与<template>元素类似,都是一个默认隐藏的元素。

用处

在Angular里,通常将它当作一个嵌入式的模版
通过ViewChild获取它的一个实例,可见它是一个TemplateRef实例

https://img1.sycdn.imooc.com//5ac07ede00012afc17000132.jpg

ng-content


Angular2使用<ng-content>元素作内容映射,所谓内容映射,是指在组件内嵌入模版代码,方便定制可复用的组件。
我们定义两个组件<app-wrapper>和<app-counter>来说明<ng-content>的用处。

// <app-wrapper>
import { Component } from '@angular/core';

@Component({  
    selector: 'app-wrapper',  
    template: `    
        <div>      
            <h1>Test ng-content</h1>      
            <!-- <ng-content></ng-content> -->    
        </div>    
        <ng-content>
        </ng-content>  
    `})
export class WrapperComponent {}
// <app-counter>
import { Component, OnInit } from '@angular/core';
@Component({  
    selector: 'app-counter',  
    template: `    <p>{{count}}</p>  `
})
export class CounterComponent {  
    private static id = 1;  
    count: number;  
    
    constructor() {    
        this.count = CounterComponent.id++;  
    }
}

使用:

<app-wrapper>  
    <app-counter>3</app-counter>  
    <app-counter>2</app-counter>  
    <app-counter>1</app-counter>
</app-wrapper>

效果:

https://img1.sycdn.imooc.com//5ac07f510001c4b206700438.jpg

可以看见<app-counter>元素作为内容映射到了<app-wrapper>内部,相当于替换掉了<ng-content>

ng-container


<ng-container>是Angular2定义的一个特殊的tag。

<ng-container>测试文本</ng-container>

上面的代码渲染到页面时:

https://img1.sycdn.imooc.com//5ac07f6600018dcc06320248.jpg

https://img1.sycdn.imooc.com//5ac07f7000010e2808060116.jpg

可以看到<ng-container>并不存在,它仅仅是作为一个容器使用。

<ng-container *ngIf="false">测试文本</ng-container>

https://img1.sycdn.imooc.com//5ac07f85000147cf08100096.jpg

在它之上我们可以使用Angular的指令,而不像<div>之类的元素影响布局。


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消