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

詳解如何在angular2中獲取節(jié)點(diǎn)

 更新時間:2017年11月23日 08:31:44   作者:雨未濃  
本篇文章主要介紹了如何在angular2中獲取節(jié)點(diǎn),詳細(xì)的介紹了幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

我們知道在angular2中ts文件支持js代碼,為什么用document.getElementById沒法獲取元素節(jié)點(diǎn)呢?

其實(shí)在angular2中先加載ts文件,再加載view,所以獲取不到節(jié)點(diǎn)。

在應(yīng)用層直接操作 DOM,就會造成應(yīng)用層與渲染層之間強(qiáng)耦合,導(dǎo)致我們的應(yīng)用無法運(yùn)行在不同環(huán)境,如 web worker 中,因?yàn)樵?web worker 環(huán)境中,是不能直接操作 DOM。

通過 ElementRef 我們就可以封裝不同平臺下視圖層中的 native 元素 (在瀏覽器環(huán)境中,native 元素通常是指 DOM 元素),最后借助于 Angular 提供的強(qiáng)大的依賴注入特性,我們就可以輕松地訪問到 native 元素。

angular2有生命周期鉤子AfterViewInit可以幫助我們在view加載完之后再執(zhí)行相應(yīng)的ts

ts:

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

exportclassAppComponent { 

constructor(privateelementRef: ElementRef) {

 }

ngAfterViewInit() {

  let divEle =this.elementRef.nativeElement.querySelector('div');//獲取第一個div

  console.dir(divEle);

  let div = doxcument.getElementById("div");  //獲取id為‘div'的節(jié)點(diǎn)

}

}

下面有一種優(yōu)化方案,運(yùn)用angular內(nèi)置屬性裝飾器@ViewChild

ts:

import{ Component, ElementRef, ViewChild, AfterViewInit }from'@angular/core';

exportclassAppComponent{

@ViewChild('greet')

 greetDiv: ElementRef;

ngAfterViewInit() {this.greetDiv.nativeElement.style.backgroundColor ='red'; }

}

html:

<div #greet>hello world</div>  //element的標(biāo)識"#name",@ViewChild根據(jù)這個搜索元素

angular中怎么獲取dom元素

步驟分解:

第一步:給要獲取的元素一個ng-model變量,并且綁定事件啦!

復(fù)制代碼 代碼如下:

<div class="home" ng-model="dirName"  ng-mouseenter="switchImage($event,dirName)"></div>  //給要獲取的元素一個ng-model變量

第二步:在controller中利用$event.target獲取dom元素即可!

$scope.switchImage = function($event, value) { 
      3       $($event.target).on("mouseenter mouseleave",function(e) {
         var w = $(this).width(); // 得到盒子寬度
         var h = $(this).height();// 得到盒子高度
         var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1);
         // 獲取x值
         var y = (e.pageY - this.offsetTop - (h / 2)) * (h > w ? (w / h) : 1);
         // 獲取y值
         var direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4; 
            //direction的值為“0,1,2,3”分別對應(yīng)著“上,右,下,左”
         // 將點(diǎn)的坐標(biāo)對應(yīng)的弧度值換算成角度度數(shù)值
         var dirName = new Array('上方','右側(cè)','下方','左側(cè)');
         if(e.type == 'mouseenter' && direction == 1){
           $(this).find('.profil-photo').html(dirName[direction]+'離開');

            }else{ 
              $(this).find('.profil-photo').html(dirName[direction]+'離開'); 
          } 
        }); 
      }

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

相關(guān)文章

  • Angular封裝表單控件及思想總結(jié)

    Angular封裝表單控件及思想總結(jié)

    這篇文章主要給大家介紹了關(guān)于Angular封裝表單控件及一些思想的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Angular具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 使用Angular CLI生成路由的方法

    使用Angular CLI生成路由的方法

    這篇文章主要介紹了使用Angular CLI生成路由的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 解析Angular 2+ 樣式綁定方式

    解析Angular 2+ 樣式綁定方式

    這篇文章主要介紹了解析Angular 2+ 樣式綁定方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 如何使用AngularJs打造權(quán)限管理系統(tǒng)【簡易型】

    如何使用AngularJs打造權(quán)限管理系統(tǒng)【簡易型】

    這篇文章主要介紹了使用AngularJs打造權(quán)限管理系統(tǒng)【簡易型】的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • AngularJS封裝指令方法詳解

    AngularJS封裝指令方法詳解

    這篇文章主要介紹了AngularJS封裝指令方法,結(jié)合實(shí)例形式詳細(xì)分析了AngularJS的功能、jQuery類庫協(xié)作及組件封裝的具體操作技巧,需要的朋友可以參考下
    2016-12-12
  • Angularjs分頁查詢的實(shí)現(xiàn)

    Angularjs分頁查詢的實(shí)現(xiàn)

    本文給大家分享angularjs實(shí)現(xiàn)分頁查詢功能,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2017-02-02
  • 對angularJs中controller控制器scope父子集作用域的實(shí)例講解

    對angularJs中controller控制器scope父子集作用域的實(shí)例講解

    今天小編就為大家分享一篇對angularJs中controller控制器scope父子集作用域的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 詳解AngularJS Filter(過濾器)用法

    詳解AngularJS Filter(過濾器)用法

    這篇文章主要介紹了AngularJS的filter,中文名“過濾器”是用來過濾變量的值,或者格式化輸出,得到自己所期望的結(jié)果或格式的東東,的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • angular.foreach 循環(huán)方法使用指南

    angular.foreach 循環(huán)方法使用指南

    本文主要介紹了angular.foreach 循環(huán)方法使用格式及參數(shù),是篇非常基礎(chǔ)的文章,與需要的小伙伴參考下
    2015-01-01
  • AngularJS中的API(接口)簡單實(shí)現(xiàn)

    AngularJS中的API(接口)簡單實(shí)現(xiàn)

    本文主要介紹AngularJS API(接口),這里對AngularJS API的知識做了詳細(xì)講解,并附簡單代碼實(shí)例,有需要的小伙伴可以參考下
    2016-07-07

最新評論

南城县| 简阳市| 晋城| 封开县| 白河县| 泾川县| 孝昌县| 牙克石市| 四会市| 临江市| 勐海县| 宜宾县| 集安市| 泸西县| 九龙县| 辽阳县| 桂平市| 滁州市| 绵竹市| 永安市| 西林县| 北辰区| 邹城市| 昌黎县| 景德镇市| 平江县| 于田县| 湖州市| 罗山县| 谢通门县| 通山县| 什邡市| 皋兰县| 吉木萨尔县| 河津市| 瑞安市| 渝北区| 陈巴尔虎旗| 湘乡市| 富平县| 六枝特区|