最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

angular6 利用 ngContentOutlet 實(shí)現(xiàn)組件位置交換(重排)

 更新時(shí)間:2018年11月02日 11:16:58   作者:雙木枯榮  
這篇文章主要介紹了angular6 利用 ngContentOutlet 實(shí)現(xiàn)組件位置交換(重排),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

ngContentOutlet指令介紹

ngContentOutlet指令與ngTemplateOutlet指令類似,都用于動(dòng)態(tài)組件,不同的是,前者傳入的是一個(gè)Component,后者傳入的是一個(gè)TemplateRef。

首先看一下使用:

<ng-container *ngComponentOutlet="MyComponent"></ng-container>

其中MyComponent是我們自定義的組件,該指令會(huì)自動(dòng)創(chuàng)建組件工廠,并在ng-container中創(chuàng)建視圖。

實(shí)現(xiàn)組件位置交換

angular中視圖是和數(shù)據(jù)綁定的,它并不推薦我們直接操作HTML DOM元素,而且推薦我們通過(guò)操作數(shù)據(jù)的方式來(lái)改變組件視圖。

首先定義兩個(gè)組件:

button.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
 selector: 'app-button',
 template: `<button>按鈕</button>`,
 styleUrls: ['./button.component.css']
})
export class ButtonComponent implements OnInit {

 constructor() { }

 ngOnInit() {
 }

}

text.component.ts

import { Component, OnInit, Input } from '@angular/core';

@Component({
 selector: 'app-text',
 template: `
 <label for="">{{textName}}</label>
 <input type="text">
 `,
 styleUrls: ['./text.component.css']
})
export class TextComponent implements OnInit {
 @Input() public textName = 'null';
 constructor() { }

 ngOnInit() {
 }

}

我們?cè)谙旅娴拇a中,動(dòng)態(tài)創(chuàng)建以上兩個(gè)組件,并實(shí)現(xiàn)位置交換功能。

動(dòng)態(tài)創(chuàng)建組件,并實(shí)現(xiàn)位置交換

我們先創(chuàng)建一個(gè)數(shù)組,用于存放上文創(chuàng)建的兩個(gè)組件ButtonComponent和TextComponent,位置交換時(shí),只需要調(diào)換組件在數(shù)組中的位置即可,代碼如下:

import { TextComponent } from './text/text.component';
import { ButtonComponent } from './button/button.component';
import { Component } from '@angular/core';

@Component({
 selector: 'app-root',
 template: `
 <ng-container *ngFor="let item of componentArr" >
  <ng-container *ngComponentOutlet="item"></ng-container>
 </ng-container>
 <br>
 <button (click)="swap()">swap</button>
`,
 styleUrls: ['./app.component.css']
})
export class AppComponent {
 public componentArr = [TextComponent, ButtonComponent];
 constructor() {
 }
 public swap() {
  const temp = this.componentArr[0];
  this.componentArr[0] = this.componentArr[1];
  this.componentArr[1] = temp;
 }
}

執(zhí)行命令npm start在瀏覽器中可以看到如下效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • AngularJS自定義指令實(shí)現(xiàn)面包屑功能完整實(shí)例

    AngularJS自定義指令實(shí)現(xiàn)面包屑功能完整實(shí)例

    這篇文章主要介紹了AngularJS自定義指令實(shí)現(xiàn)面包屑功能,結(jié)合完整實(shí)例形式分析了AngularJS自定義指令的定義、調(diào)用及面包屑功能的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • Angularjs實(shí)現(xiàn)分頁(yè)和分頁(yè)算法的示例代碼

    Angularjs實(shí)現(xiàn)分頁(yè)和分頁(yè)算法的示例代碼

    分頁(yè)是很多web應(yīng)用都會(huì)用到的,本篇文章主要介紹了Angularjs實(shí)現(xiàn)分頁(yè)和分頁(yè)算法的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • AngularJS 避繁就簡(jiǎn)的路由

    AngularJS 避繁就簡(jiǎn)的路由

    這篇文章主要為大家詳細(xì)介紹了AngularJS 避繁就簡(jiǎn)的路由的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Angular 作用域scope的具體使用

    Angular 作用域scope的具體使用

    本篇文章主要介紹了Angular 作用域的具體使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 詳解angularJS自定義指令間的相互交互

    詳解angularJS自定義指令間的相互交互

    本篇文章主要介紹了詳解angularJS自定義指令間的相互交互,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • AngularJS Ajax詳解及示例代碼

    AngularJS Ajax詳解及示例代碼

    本文主要講解AngularJS Ajax的知識(shí),這里提供詳細(xì)資料及代碼示例,幫助學(xué)習(xí)AngularJS的朋友,有需要的小伙伴可以參考下
    2016-08-08
  • AngularJS單選框及多選框?qū)崿F(xiàn)雙向動(dòng)態(tài)綁定

    AngularJS單選框及多選框?qū)崿F(xiàn)雙向動(dòng)態(tài)綁定

    這篇文章主要為大家詳細(xì)介紹了AngularJS單選框及多選框?qū)崿F(xiàn)雙向動(dòng)態(tài)綁定的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 使用AngularJS 跨站請(qǐng)求如何解決jsonp請(qǐng)求問(wèn)題

    使用AngularJS 跨站請(qǐng)求如何解決jsonp請(qǐng)求問(wèn)題

    這篇文章主要介紹了使用AngularJS 跨站請(qǐng)求如何解決jsonp請(qǐng)求問(wèn)題,下面通過(guò)本文給大家分享解決辦法,需要的朋友參考下
    2017-01-01
  • AngularJS入門(mén)教程之XHR和依賴注入詳解

    AngularJS入門(mén)教程之XHR和依賴注入詳解

    本文主要介紹AngularJS XHR和依賴注入,這里整理了詳細(xì)資料和示例代碼,有興趣的小伙伴可以參考下
    2016-08-08
  • angular8和ngrx8結(jié)合使用的步驟介紹

    angular8和ngrx8結(jié)合使用的步驟介紹

    這篇文章主要給大家介紹了關(guān)于angular8和ngrx8結(jié)合使用的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用angular8具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論

荆门市| 贵阳市| 康乐县| 巩留县| 修武县| 青海省| 徐闻县| 施甸县| 永清县| 永嘉县| 六枝特区| 深圳市| 都江堰市| 房产| 本溪市| 莱阳市| 沙洋县| 高州市| 登封市| 罗源县| 通榆县| 涞水县| 台中市| 固原市| 仙桃市| 泗洪县| 双柏县| 景德镇市| 安化县| 景东| 岳阳县| 缙云县| 西吉县| 霍邱县| 彭州市| 饶河县| 广元市| 宁武县| 武城县| 瑞丽市| 两当县|