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

Angular 8设置ngSstyle并读取offsetwidth提供旧值

Angular 8是一个流行的前端开发框架,它使用TypeScript编写,并由Google进行维护和支持。在Angular 8中设置ngStyle属性并读取offsetWidth可以实现动态样式的设置和获取元素宽度的功能。下面是对这个问题的完善且全面的答案:

Angular 8中的ngStyle是一个内置指令,用于在HTML元素上动态设置样式。它接受一个对象作为参数,该对象的键是CSS属性名,值是要设置的样式值。使用ngStyle指令可以根据特定的条件或逻辑动态地修改元素的样式。

要设置ngStyle并读取offsetWidth,可以按照以下步骤进行:

  1. 在组件的HTML模板中,使用ngStyle指令并绑定一个对象到该指令上,以设置元素的样式。例如:
代码语言:txt
复制
<div [ngStyle]="{ 'color': 'red', 'font-size': '20px' }">Hello World!</div>

上述示例将会将div元素的文字颜色设置为红色,并将字体大小设置为20像素。

  1. 要读取元素的offsetWidth,可以使用Angular的模板引用变量。在HTML模板中,给元素添加一个引用变量,并在组件中使用@ViewChild装饰器来获取该变量的引用。例如:
代码语言:txt
复制
<div #myElement>Hello World!</div>

在组件的代码中,使用@ViewChild装饰器获取该变量的引用,并通过使用.nativeElement属性来读取offsetWidth。例如:

代码语言:txt
复制
import { Component, ViewChild, ElementRef } from '@angular/core';

@Component({
  selector: 'my-component',
  template: `<div #myElement>Hello World!</div>`
})
export class MyComponent {
  @ViewChild('myElement', {static: true}) myElement: ElementRef;

  ngAfterViewInit() {
    console.log(this.myElement.nativeElement.offsetWidth);
  }
}

上述示例中,ngAfterViewInit生命周期钩子函数用于在视图初始化后获取元素的offsetWidth,并将其打印到控制台。

总结一下,Angular 8中的ngStyle指令可以动态地设置HTML元素的样式。要读取元素的offsetWidth,可以使用模板引用变量和@ViewChild装饰器来获取元素的引用,并通过.nativeElement属性来读取offsetWidth。

对于Angular 8的更多信息和详细介绍,你可以访问腾讯云的Angular产品文档页面:Angular 产品文档

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

相关·内容

angular5面试题_大数据面试题

Angular v8+面试系列 Angular 面试题汇总1-基本知识 Angular 面试题汇总2-Component/Service Angular 面试题汇总3-单元测试 目录 关于Angular...因此,没有多余的HTML文件可读取,从而为应用程序提供了更好的安全性。...脏检测的基本原理是存储数值,并在进行检测时,把当前时刻的新比对。若相等则没有变化,反之则检测到变化,需要更新视图。 angular2中有了Zone.js。...开发者可以根据场景来设置更加高效的变化检测方式:onPush。onPush策略,就是只有当输入数据的引用发生变化或者有事件触发时,组件才进行变化检测。 NgFor应该伴随trackBy方程使用。...Angular v8+面试系列 Angular 面试题汇总1-基本知识 Angular 面试题汇总2-Component/Service Angular 面试题汇总3-单元测试 版权声明:本文内容由互联网用户自发贡献

4.3K20

Angular8稳定版修改概述

Ivy渲染引擎实验 虽然早在angular 6的时候就提出了Ivy,但是Ivy仍处于试验阶段,通过Angular 8版本,您可以通过创建一个enable-ivy标志设置为true 的应用程序来测试它,如下所示...您可以参考Bazel文档,了解如何将其与Angular一起使用。 你可能想知道:“Bazel准备好了吗?”简答:还没有。目前,它处于“选择预览”模式。...的支持 Angular团队希望为使用AngularJS的所有开发人员提供支持,帮助他们升级到Angular。...Web Worker Angular 8中添加了Web worker支持。现在,您可以添加Web worker并将要在后台运行的耗时进程委派给Web worker。...结论 以上就是angular 8版本的一些改动。总体来说变化不是很大,延续了angular每年一个稳定版的习惯。 原文链接

4.5K20
  • Angular 10 正式发布,不再支持 IE910!

    我们尝试每年发布两个主要版本,以使 Angular 与其他 JavaScript 生态系统保持同步,给出可预测的时间表。我们计划在今年秋天发布 v11 版。...新版内容 新的日期范围选择器 Angular Material 现在提供了一个新的日期范围选择器。 ?...CommonJS 或 AMD 依赖项可能导致优化 bailout 可选的更严格设置 当你使用 ng new 创建新的工作区时,v10 提供了一个更严格的项目设置选项。...ng new --strict 启用此标志会使用一些新设置初始化你的新项目,这些设置可以提高可维护性,帮助你提前捕获错误允许 CLI 在你的应用上执行一些高级优化措施。...v9 默认 ? v10 默认 ? 新的副作用是默认为新项目禁用了 ES5 构建。

    2.5K20

    !important导致TransitionGroup失效

    当然,Vue 也支持新增元素和删除元素的过渡效果,只需要为 [name]-enter-from 和 [name]-leave-to 类名提供样式,这不是本文的重点,故不再详细介绍。...此处的 positionMap 是一个 WeakMap,Vue 使用元素对象作为 key ,能够保证在元素被销毁后,positionMap 中对应元素的位置信息被适时自动回收。...offsetHeight 或 offsetWidth,也能触发文档重排。...可以这么理解:渲染队列中存在改动而不进行重排直接获取文档宽度或高度,会导致拿到的元素宽高是过时的,所以浏览器在读取前对文档进行了重排。...实现过渡效果,需要确保元素正位于位置。在 Vue 中,为了确保文档重排后元素通过 Transform 放到了位置,Vue 将元素的过渡时间设置为 0s 并进行了一次强制重排。

    84340

    移除 View Engine 转用 Ivy,盘点Angular 12的重要更新

    Angular 12 版本的最大亮点就是淘汰掉了的 View Engine 编译与渲染管道,转而采用更为现代的 Ivy 技术。...由于 View Engine 函数库的存在,Angular 暂时还无法移除的实例化,这导致维护成本不断增加,Angular 整体发展速度也被拖慢。...在更新至 Angular 12 之后,应用会通过 ng update 进行更新自动切换为新的 API。 提供相关工具,可使用最新算法将旧版本地化 ID 迁移为新 ID。...对于编译器,新版本提供转换组件样式资源的支持能力。 对于语言服务,新版本仅在模板中提供 Angular 属性补全功能。...APP-INITIALIZER 令牌的类型有所变更,旨在准确反映 Angular 处理的返回类型。同样属于重大变化。

    4.4K10

    检测(代表:angular1)前面说

    而单向数据流就不同了,我们只有ui行为改变,data就改变马上反馈到v层,而我们自己在控制台改变data这个,v层居然不变(model是已经变了并没有反应),只能等到下一次ui行为改变,带上这个data...脏检测(代表:angular1) 前面说的定时器双绑是扯淡 前面特地埋了个坑,关于Angular脏检查,并不是一些人想象的那样子用定时器周期性进行脏检测(我前面写的那个超级简单的双绑就是人们传闻的angular...在angular1中,私有变量以$$开头,$$watch是一个存放很多个绑定的对象的数组,用$watch方法来添加的,每一个被绑定的对象属性是:变量名、变量、一个函数(用来返回变量新)、检测变化的回调函数...然后和上一次进行比较,如果不同,那就调用 getListener,同时把新传递进去。 最终,我们把last属性设置为新返回的,也就是最新。...name, //数据变量名 last:'', //数据变量

    1.6K40

    记录工作中遇到的各种问题(Bug,总结,记录)

    页面使用Angular.js(1),页面中iframe中初始设置src属性的话,会导致页面重新加载一次 例如设置一个初始,某些操作之后再更改src <iframe src="#" class="export-iframe...父元素的z-index<em>值</em>(如果有)为子元素定义了堆叠顺序(css版堆叠“拼爹”) 要注意这个特性,另外要提及的是,z-index只有<em>设置</em>了非static的position<em>值</em>才能生效 18....有个插件叫做 jx-xlsx,可以用来给前端<em>读取</em>excel文件里的内容 34....直接<em>读取</em>文件修改占位,<em>提供</em>模版文件和目标文件,Node.js this.plugin('done', function(stats) { let asset = stats.toJson...迅雷会检测<em>并</em>自动下载HTML5中Video标签中<em>设置</em>的.mp4视频 如果机子装了迅雷,在<em>设置</em>Video源的时候(比如使用video.js或用原生)并不会播放,而是自动被迅雷调出下载 可以说是迅雷流氓了,

    18.1K12

    从单向到双向数据绑定

    而单向数据流就不同了,我们只有ui行为改变,data就改变马上反馈到v层,而我们自己在控制台改变data这个,v层居然不变(model是已经变了并没有反应),只能等到下一次ui行为改变,带上这个data...脏检测(代表:angular1) 前面说的定时器双绑是扯淡 前面特地埋了个坑,关于Angular脏检查,并不是一些人想象的那样子用定时器周期性进行脏检测(我前面写的那个超级简单的双绑就是人们传闻的angular...watch方法来添加的,每一个被绑定的对象属性是:变量名、变量、一个函数(用来返回变量新)、检测变化的回调函数。 对于为什么使用一个函数来记录新(类似vue的computed)?...然后和上一次进行比较,如果不同,那就调用 getListener,同时把新传递进去。 最终,我们把last属性设置为新返回的,也就是最新。...name, //数据变量名 last:'', //数据变量

    3.6K20

    进阶 | 重新认识Angular

    与此同时,指令、事件和插等binder也同时完成了绑定,使得最终产生的Dom是与Model相维系的,即是活动的。 3....这里在对数据进行赋值和读取的时候,都会进行Proxy,然后点对点更新数据。 2. Vue2:使用虚拟DOM进行Diff。 参考React的虚拟DOM。...Angular 核心:使用脏检测(新/比较)Diff 当Model发生变化,会检测所有视图是否绑定了相关数据,再更改视图 Zone.js(猴子补丁:运行时动态替换) 将Javascript中异步任务包裹一层...---- 什么是依赖注入 依赖注入在项目中,体现为项目提供了这样一个注入机制: 有人负责提供服务,有人负责消耗服务,而这样的机制提供了中间的接口,替使用者进行了创建初始化这样的处理。...而Angular在某种程度上替我们做了这样的工作,并提供我们使用。 在Angular里面我们常常通过服务来共享一些状态的,而这些管理状态和数据的服务,便是通过依赖注入的方式进行处理的。

    2.6K10

    Angular 17 有什么新功能?

    有 4 个可能的,它们按以下顺序运行:afterRenderafterNextRenderphase EarlyRead(当您需要在写入 DOM 之前读取 DOM 时) Write(如果要写入 DOM...降低性能,因此应尽可能避免使用。...以前,在读取模板中的信号时,Angular 会标记组件 当信号更新时,它的所有祖先都肮脏 (就像目前在组件被标记为检查时所做的那样)。...您可以使用 CSS 自定义动画,对整个视图进行动画处理或跳过其中的一部分, 或者指出哪些 DOM 元素实际上是视图和新视图中的相同实体: 然后,浏览器将尽最大努力在状态之间进行动画处理。...您可以通过提供以下来禁用动画:'noop'provideAnimationsAsync() bootstrapApplication(AppComponent, { providers: [provideAnimationsAsync

    65730

    AngularJS入门心得4——漫谈指令scope

    该参数是一个可选参数,可以是:     一个代表外部HTML文件路径的字符串,如templateUrl: 'my-dialog.html';     一个可以接受两个参数的函数,参数为tElement和tAttrs返回一个外部...默认是false。指令的内部可以访问外部指令的作用域,并且模板也可以访问外部的作用域对象。为了将作用域传递进去,scope参数的必须通过{}或true设置成隔离作用域。...如果没有设置scope参数,那么指令内部的作用域将被设置为传入模板的作用域。        ...同时,{{name}}能够读取到指令外的作用域,即控制器中scope.name的。   有了上面的铺垫,我们就可以来介绍今天的主题了,先上菜   index.html: <!...这是一个最干净的情况,index.html中的{{name}}的到控制器Controller中读取为“Tobias”。 2.

    1.9K60

    AngularDart4.0 指南- 依赖注入 顶

    Providers 服务提供提供依赖性的具体运行时版本。 注入器依靠提供者创建注入器注入组件,指令,管道和其他服务的服务实例。...第二个是一个命名参数,比如useClass,你可以把它看作是创建依赖关系的方法。 有很多方法可以创建依赖关系,就像写许多配方的方法一样。 替换提供者类 偶尔你会要求不同的类提供服务。...) 当您考虑大多数依赖关系由类提供时,这是特别方便的。...如果使用级联,则配置对象不能被声明为const,并且不能使用提供者,但可以使用工厂提供者。...log(someMessage); } 当使用@Optional()时,您的代码必须考虑空。 如果您没有在注入器的某处注册logger,注入器会将logger的设置为空。

    5.7K20

    Hoppscotch:开源 API 开发工具,快捷实用 | 开源日报 No.77

    快速:实时发送请求获得响应。 支持多种 HTTP 方法,如 GET、POST、PUT 等。 提供自定义主题,支持背景色、前景色和强调颜色组合定制化。...提供授权认证模块来识别终端用户身份。 可设置环境变量来初始化预处理脚本。 团队协作方面可以创建无限数量的团队成员和集合,在工作区中管理个人或者团队集合环境。 针对效率做了键盘快捷键优化设计。...支持多种登录方式实时同步数据。 提供了批量编辑、管理面板和官方插件等功能。...该项目主要功能包括: 安全存储:可将任意键/类型的密钥存储在 Vault 中,对其进行加密后再写入持久化存储介质,以确保即使获取原始数据也无法直接获得其中保存着的机敏信息。...主要特点: 提供了一套全新、面向未来富有前瞻性的 React 组件 支持渐进式迁移至最新版 (FluentUI V9) 包含对老版本 (如 V8) 已经广泛使用过程中积累下来的较为完善且稳定可靠等的功能

    45010

    2020vue面试题及答案_人际关系面试题及答案

    不用的组件可以卸载,不占用资源 4.都支持指令,如样式、事件等的指令 不同点 1.创始和发行不同:Angular是由googl提供支持的,初始发行于 2016年9月;React由Facebook...框架和库:Angular 是一个框架而不是一个库,因为它提供了关于如何构建应用程序的强有力的约束,并且还提供了更多开箱即用的功能。React 和 Vue 是是一种库,可以和各种包搭配。 8....组件之间传方式不同:Angular 中直接的父子组件,父组件可以直接访问子组件的 public 属性和方法,也可以借助于@Input 和 @Output 进行通讯。...优点:轻量级的框架、双向数据绑定、组件化开发、单页面路由、学习成本低、虚拟dom、渐进式框架、数据和结构的分离、运行速度快、插件化 缺点:不支持ie8以下、社区没有angular和react丰富、缺乏高阶教程和文档...state里面存放的数据是响应式的,Vue组件从store中读取数据,若是store中的数据发生改变,依赖这个数据的组件也会发生更新。

    8.7K20
    领券