首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在angular指令中找到新创建的元素的高度和宽度

在Angular指令中找到新创建的元素的高度和宽度可以通过以下步骤实现:

  1. 在指令中使用@ViewChild装饰器获取对新创建元素的引用。例如,如果指令的选择器为myDirective,可以在指令类中添加以下代码:@ViewChild('newElement') newElement: ElementRef;这里假设新创建的元素有一个模板引用变量为newElement
  2. 在指令的ngAfterViewInit生命周期钩子函数中,可以通过nativeElement属性访问到新创建元素的DOM对象,并获取其高度和宽度。例如:ngAfterViewInit() { const height = this.newElement.nativeElement.offsetHeight; const width = this.newElement.nativeElement.offsetWidth; console.log('Height:', height); console.log('Width:', width); }这里使用offsetHeightoffsetWidth属性获取元素的高度和宽度。
  3. 如果需要在模板中显示新创建元素的高度和宽度,可以在指令类中定义一个公共属性,并在模板中绑定该属性。例如:@ViewChild('newElement') newElement: ElementRef; elementSize: { height: number, width: number }; ngAfterViewInit() { this.elementSize = { height: this.newElement.nativeElement.offsetHeight, width: this.newElement.nativeElement.offsetWidth }; }在模板中可以使用elementSize属性显示元素的高度和宽度:<div #newElement myDirective> <p>Element Height: {{ elementSize?.height }}</p> <p>Element Width: {{ elementSize?.width }}</p> </div>

总结:

通过使用@ViewChild装饰器获取新创建元素的引用,并在ngAfterViewInit生命周期钩子函数中访问其高度和宽度,可以在Angular指令中找到新创建的元素的尺寸。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在onCreate中获取View高度宽度

何在onCreate中获取View高度宽度 在开发过程中经常需要获取到View宽和高,可以通过View.getWidth()View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成,一个measure过程,一个layout过程。...只有经过“测量”“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后。...所以在onCreate中直接使用View.getWidth()View.getHeight()是无法得到正确。 那应该怎么onCreate中获取View宽高呢?...savedInstanceState); view.post(new Runnable(){ public void run(){ //在这里使用View.getWidth()View.getHeight

5.3K20

C# dotnet 使用 OpenXml 解析 PPT 元素坐标宽度高度

本文将告诉大家如何从 PPT 里面解析出通用元素 x y 值,以及元素宽度高度值 在开始之前请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在拿到 slidePart.Slide.CommonSlideData.ShapeTree...里面的元素,几乎所有元素都存在坐标宽度高度,这里元素我称为通用元素,也就是不是特定的如形状、图片元素 此时元素应该是继承 OpenXmlElement 类,在这个类里面可以通过 GetFirstChild...new Emu(offset.X.Value); var offsetY = new Emu(offset.Y.Value); 在 PPT 里面,通用元素 x y 值单位是...ext 获取元素宽度高度,请看代码 var extents = transform2D.GetFirstChild();...extentHeight = new Emu(extents.Cy); ShapeProperties Class (DocumentFormat.OpenXml.Drawing.Pictures) 知道了元素坐标如何在

1.6K10

angularjs 指令详解

一、指令定义 对于指令,可以把它简单理解成在特定DOM元素上运行函数,指令可以扩展这个元素功能。...控制器中也有一些特殊服务可以被注入到指令当中。这些服务有: 1. $scope 与指令元素相关联的当前作用域。 2. $element 当前指令对应元素。 3....2.当我们将scope设置为true时候,我们就新创建了一个作用域,只不过这个作用域是继承了我们父作用域; 我觉得可以这样理解,我们新创建作用域是一个新作用域,只不过在初始化时候,用了父作用域属性方法去填充我们这个新作用域...,我想讲myUrl绑定到指令some-attr属性值,那么你可以这样写:myUrl:'@someAttr'。...那么我们知道了指令myUrl变量值是如何来,那么我们要如何在template中使用它呢?

2.2K40

AngularDart4.0 指南-体系结构概述 顶

= null" [hero]="selectedHero"> 虽然这个模板使用了典型HTML元素,但它也有一些不同之处。...HeroDetailComponent是HeroListComponent一个子项。 ? 注意是如何在原生HTML元素中合适存放。...虽然组件在技术上是指令,但组件对于Angular应用程序来说是非常独特重要,所以这种架构概述将组件与指令分开。 还有其他两种指令:结构属性指令。...它们倾向于以属性形式出现在元素标签内,有时候以名称形式出现,但更常见是作为赋值或绑定目标。 结构指令通过添加,删除替换DOM中元素来改变布局。...,ngSwitch)或修改DOM元素组件方面(例如ngStylengClass)。

7.9K30

angular浏览器兼容性问题解决方案

问题:edge浏览器下,固定列边框消失 原因:ng-zorro-antd表格组件使用nzLeftnzRight指令固定表格列,这两个指令实现css3中标签: position: -webkit-sticky...自定义页脚,加入额外页脚,来替代确定功能,此时有两种方式来实现: 只覆盖对应按钮,确定按钮,此时按钮样式与默认页脚按钮是不一致,为保持一致,可以自定义样式,也可以直接使用默认页脚中按钮样式...--- 问题:IE浏览器下,在多个tab页中切换,echart所在容器高度坍塌 原因:IE浏览器下父元素不能动态调整高度(即通过子元素动态改变调整高度) 解决方案:固定echart图表所在容器高度 -...这种方式经验证,最终效果是,初始化表单后,表单输入元素边框闪烁(红色)一下。...,插件需要自己添加到项目文件中(根据angular团队所说,这个插件修复了一个IE10或者IE11bug,但是提交了太多代码,这会给增加现有的应用打包体积,虽然后面关于这个PR讨论了挺久,但是看样子是准备把这个放到

3K30

AngularJS入门心得3——HTML左右手指令

指令就是一些附加在HTML元素自定义标记(可以是属性A、元素E、css类C),可以通过AngularJSHTML编译器($compile)对这些标记附加指定行为,或者操作DOM、改变DOM元素等...1.指令规范化   在HTML命名规范中,因为不区分大小写,所以类似myCustomermycustomer是一样,那么如何在HTML定义指令呢,常见可以通过   (1)     加前缀:”x-...“”data-”   (2)     在指令名之间添加间隔符:”:”,”-”,”_”         那么如何将HTML中指令名转化为js中变量,相应,有两种方式:   (1)     从元素或属性名字前面去掉...2.指令匹配   AngularJS$complie编译器可以基于元素、属性、类名以及注释来匹配指令。...,但是,最好通过标签名属性来使用指令而不要通过注释类名。

3.1K50

Angular2 之 结构型指令几个概念

Angular 有一个强力模板引擎,它能让你轻松维护元素DOM树结构。 Angular指令可分为三种 组件 属性型指令 结构型指令 组件 组件其实就是一个带模板指令。...是这三种指令中最常用,我们会编写大量组件来构建application。 属性型指令 属性型指令会修改元素外观或者行为。 e.g. NgStyle可以修改元素好几个样式。...结构型指令 结构型指令通过添加删除 DOM 元素来改变DOM布局。 我们经常看到内置结构型指令有:ngIf、ngSwitch、ngFor。 下面我们着重介绍ngIf。...弊 如果我们很快再次使用这个组件时候,重建组件代价是非常大。 当ngIf重新变成true时候,angular会重新创建该组件及其子树。angular会重新运行每个组件初始化逻辑。...总结 基于上面的利弊分析,无论是我们在使用内置指令还是使用自定指令时候,我们应该自己分析提添加、移除元素以及创建和销毁组件后果。

3K20

纯前端控件集 WijmoJS 2018V2发布,在React、VueAngular中更易用

Web-based Wijmo Designer 此设计器生成代码是纯HTMLJavaScript,生成代码包括初始化控件所需引用,宿主元素JavaScript脚本。...支持Angular 6TypeScript 2.7 WijmoJS 已经全面支持Angular 6.0.0版。...WijmoJS 在本次更新中为Vue V2支持增加了很多不错功能。比如,WijmoJS 子组件现在可以在动态场景中正确工作,例如v-forv-if指令。...随着新版本上线,WijmoJS 添加了Web Components In Angular示例,演示了如何在Angular应用程序中使用 WijmoJS Web组件。...ES6ESModule支持 本次更新,增加了ES6版本WijmoJS模块(测试版),用户可以在WijmoJS 安装包NpmImages文件夹中找到它: wijmo-es2015-esm-min -

7K20

Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

前言:   上一篇文章我们讲了如何在创建Angular项目中快速引入ng-zorro-antd企业中台组件库,并且快速构建后台管理页面框架模板。...这一章主要介绍是如何在创建好后台管理页面框架快速生成NG-ZORRO相关组件,并且介绍Angular相关目录结构、生命周期函数,路由配置使用相关知识点,以及如何使用Angular CLI使用一行代码快速添加...ngOnInit() 在 Angular 第一次显示数据绑定设置指令/组件输入属性之后,初始化指令/组件。 在第一轮 ngOnChanges() 完成之后调用,只调用一次。...在这儿反订阅可观察对象分离事件处理器,以防内存泄漏。 在 Angular 销毁指令/组件之前调用。...2、配置首页组件路由(多模块路由完美解决): 首先,我们博客项目存在博客管理用户管理两个核心模块,我们创建了两个模块,那么我们如何在【app-routing.module.ts】应用路由文件中配置多个模块路由

3.9K20

JavaScript框架比较:AngularJS vs ReactJS vs EmberJS

, LinkedIn, TinderBox, Netflix, Groupon 最适合使用地方 构建高度活跃交互式Web应用程序。...它是上面提到三个框架中最古老。因此,它拥有最大社区。 Angular.js通过使用指令扩展HTML功能来解决开发SPA(单页应用程序)问题。此框架强调让你app快速完成运行。...对于具有许多交互元素页面,Angular变得缓慢。 原始设计往往很慢。 由于许多DOM元素,性能方面有问题。 复杂第三方集成。 陡峭学习曲线。 范围很容易使用,但很难调试。 路由受限。 注意。...其他绑定选项包括一个可能性以让你Model在View甚至另一个Model之间用一种要么单向要么双向绑定模式。 可重复使用组件 Angular组件称为“指令”,它们比Ember组件强大得多。...这需要深入了解所考虑每个框架优点缺点,以及它们如何在不同用例下竞争。所有框架都有很多共同点:开源,在许可证下发布,并创建具有MVC设计模式SPA。它们都有视图,事件,数据模块路由。

12.6K60

Angular2 之 属性型指令Angular指令可分为三种创建一个属性型指令 -- 初级应用响应用户引发事件 -- 高级应用

绑定宿主元素事件,事件绑定时候捕捉到这个事件源$event(table指令,这是属性型指令重点)。 Angular指令可分为三种 组件 属性型指令 结构型指令 今天来学习一下属性型指令。...属性型指令把行为添加到现有元素上。 属性型指令用于改变一个 DOM 元素外观或行为。...创建一个属性型指令 -- 初级应用 自己创建属性型指令必要条件: import { Directive, ElementRef, Input, Renderer } from '@angular/core...指令选择器是[myHighlight],Angular 将会在模板中找到所有带myHighlight属性元素。...检测用户鼠标何时进入离开这个元素。 通过设置清除高亮色来响应这些操作。 实现 把@HostListener装饰应用到事件触发时需调用方法。

1.4K30

元素中必知重要属性方法

上一篇文章我们学习了 Angular 中自定义 Video 操作,如果读者留意的话,会发现在这篇文章中就开始操作元素属性 scrollLeft,这是很常用一样属性。...3. clientLeft / clientTop clientLeft 表示元素左边框宽度,clientTop 表示元素上边框高度。两者都是只读属性,返回整数数值。...,其宽度包含 content 内容宽度左右两侧 padding 值;clientHeight 表示元素高度,其高度包含 content 内容高度上下两侧 padding 值。...Element.getBoundingClientRect() getBoundingClientRect() 方法返回元素top, right, bottom left是相对视口位置。...(x, y)及其元素宽度高度~ 2. append() / remove() 对元素进行追加 append 移除 remove。

65920

Angular 中结构指令模式 - 它们是什么且怎么使用

Angular 中,有两种类型指令。属性指令修改 DOM 元素外观或者行为。结构指令添加或者移除 DOM 元素。 结构指令Angular 中最强大特性之一,然而它们却频繁被误解。...如果你对学习 结构指令 感兴趣,那么现在我们就来接着阅读,并了解它们是什么,它们有什么用以及如何在项目中使用它们。 你将学到什么 在本文中,你将学到关于 Angular 结构指令模式知识点。...学完本文,你将更好理解这些指令并在实际项目中使用它们。 Angular 结构指令是什么? Angular 结构指令是能够更改 DOM 结构指令。这些指令可以添加、移除或者替换元素。...Angular 中我们什么时候需要用结构指令呢? 如果你想在 DOM 中添加或者移除一个元素时候,你就应该使用结构指令。 当然,我们还可以使用它们来更改元素 CSS 样式,或者添加事件监听器。...总结 结构指令Angular 中很重要一部分,我们可以通过多种方式使用它们。 希望通过本文,读者能更好理解怎么去使用这些指令什么时候去使用这些模式。 本文为译文,采用意译形式。

3.8K20

如何开发跨框架组件?

当然由于创建了特定于框架组件,因此框架所需功能可以正常工作。但是如果把现有的原生组件重新创建为框架组件,则维护会变得非常困难,因为每个框架中都有多份代码。...然后,通过同步 DOM 中框架数据,DOM 中 元素 6 移动到元素 3 前面。 ? 最后,同步最后 DOM,原生组件中数据 6 也移动到数据 3 前面。 ?...你可以用与框架相同方式同步它。但是我不知道如何与 React、Angular 或 Vue 同步,并且 React、Angular Vue 使用所有方法都不一样。...它提供了有限 React 支持,但你很快就会看到在 React、Angular Vue 组件中提供大量功能。...许多人在使用 egjs,而且正在用到许多框架中,React、Angular Vue。以前它需要花费两倍时间来进行处理,因为它是用两组代码进行管理

2.6K30

Ionic3 自定义指令

Angular 中有三种类型指令 组件 — 拥有模板指令 结构型指令 — 通过添加移除 DOM 元素改变 DOM 布局指令 属性型指令 — 改变元素、组件或其它指令外观行为指令。...组件概念比较大,本文讲解是属性指令结构指令创建和使用,Angular官方文档 创建属性指令 创建一个指令可以直接使用ionic cli 工具 ionic g directive sxylight...:当鼠标悬浮到使用该指令元素上时,元素背景色发生变化。...替代dom API 获取元素 使用属性指令 使用自定义指令,有几个地方需要注意:首先需要子在 directives.module.ts 文件中 导入导出, 然后需要在你使用模块中导入。...,即:当条件不成立时候才会生成对应 DOM 使用结构指令 因为在上面我们引进导入了 DirectivesModule ,而 DirectivesModule 又包含了现在新创建这个结构指令,因此这里不需要在

1.3K30

【17】进大厂必须掌握面试题-50个Angular面试

Angular模板是什么? Angular模板是使用包含特定于Angular元素属性HTML编写。这些模板与来自模型控制器信息结合在一起,进一步渲染这些信息以向用户提供动态视图。...Angular指令是什么? Angular核心功能是指令,这些属性使您可以编写 特定于应用程序新HTML语法。它们本质上是在Angular编译器在DOM中找到它们时执行函数。...同样,应用程序所有依赖关系通常仅在模块中定义。 26.我们可以在哪种类型组件上创建自定义指令Angular支持创建以下内容自定义指令元素指令 -当遇到匹配元素时,指令将激活。...Karma Angular Mocks Mocha Browserify Sion 38.如何在Angular中创建服务?...可以使用ng-hide指令与控制器一起轻松隐藏HTML元素,以在单击按钮时隐藏HTML元素

41.1K51

04-老马jQuery教程-DOM节点操作及位置大小

props:用于附加到新创建元素属性、事件方法 返回值:返回新创建标签jQuery包装对象 // jq appendTo,类似DOMappendTo方法 $("Hello</...这个函数原理是检查提供第一个元素并在它代码结构中找到最上层祖先元素--这个祖先元素就是包装元素。...DOMCSS属性读写 3.1 简单获取元素内部宽高(不包括边框外边距) innerHeight() 获取第一个匹配元素内部区域高度(包括补白、不包括边框)。此方法对可见隐藏元素均有效。...获取第一个匹配元素外部高度(默认包括补白边框)。...function(index, height) index:String, height:Number 返回用于设置高度一个函数。接收元素索引位置元素高度值作为参数。

6.1K00

看看Angular有啥新玩法!手把手教你在Angular15中集成Excel报表插件

Angular15新特性 Angular框架(以下简称“Angular”)作为一款由谷歌开发Web应用程序框架,其强大依赖注入系统、可重复使用模块化开发理念响应式编程模式等特点让Angular一问世便取得了巨大关注流量...对于大部分组件,Angular更新了样式DOM结构。对于新组件,Angular保留了一部分TypeScript API组件/指令选择器。...下面将介绍如何在Angular15中集成Excel报表插件并实现简单文件上传下载。 在本教程中,我们将使用node.js,请确保已安装最新版本。...(初始化一个Angular工程) 将下面的表格资源粘贴到package.json文件中dependencies标签,并使用npm install指令下载ng serve指令运行。...) 现在可以使用ng serve指令启动项目并在浏览器中测试上传文件、修改文件内容下载文件操作了。

28510

Angular学习(01)-架构概览

在以往,如果需要动态更新 DOM 上信息时,需要先获取到相对应元素实例对象,然后调用相应 DOM API 来操纵 DOM; 而使用 Angular 的话,可以直接在模板相应元素中,将某个属性与...而指令分为结构型指令属性型指令,它们区别,其实就在于,一个是改变 DOM 结构,一个是改变 DOM 元素样式。...我个人觉得,指令功能,让我们处理一些相同行为,可以更好去封装,减少冗余繁琐。...指令原理也很简单,在模板中某个元素标签上,添加上某个指令后,解析到这个指令时,会进入这个指令相关工作,而指令内部,会获取到一个当前指令挂载元素标签对象,既然都拿到这个对象了,那么,在指令内部想对这个元素做什么...指令还有另一个通途,通常用来扩展原有的功能,因为可能项目中,在模板里使用组件或者 HTML 元素标签因为种种原生无权或不方便进行修改,而又想在其基础上扩展一些功能,此时就可以利用指令来实现。

3.5K50
领券