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

如何在angular2中获取当前文档大小

在Angular 2中获取当前文档大小,可以使用window对象的innerWidthinnerHeight属性来获取浏览器窗口的宽度和高度。以下是一个示例代码:

代码语言:typescript
复制
import { Component, HostListener } from '@angular/core';

@Component({
  selector: 'app-root',
  template: `
    <p>当前文档大小:{{ documentWidth }} x {{ documentHeight }}</p>
  `,
})
export class AppComponent {
  documentWidth: number;
  documentHeight: number;

  @HostListener('window:resize', ['$event'])
  onResize(event) {
    this.documentWidth = window.innerWidth;
    this.documentHeight = window.innerHeight;
  }

  constructor() {
    this.documentWidth = window.innerWidth;
    this.documentHeight = window.innerHeight;
  }
}

在上述代码中,我们使用了HostListener装饰器来监听窗口大小改变的事件。当窗口大小改变时,onResize方法会被调用,然后我们通过window.innerWidthwindow.innerHeight来获取当前文档的宽度和高度,并将其赋值给documentWidthdocumentHeight属性。在模板中,我们可以直接使用这两个属性来显示当前文档的大小。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。如果你想了解更多关于Angular的知识,可以参考腾讯云的Angular产品介绍

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

相关·内容

何在代码获取Java应用当前的版本号?

最近需要在项目中获取项目的版本号,最笨的方法莫过于硬编码一个版本号,当然我也是这么干的。不过闲下来的时候突发奇想Spring Boot项目中pom.xml定义的版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml的属性注入到指定的资源文件,具体操作为: ... 恰好spring-boot-starter-parent已经设置了这种方式。...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息的自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息的方法

3.1K20

何在代码获取Java应用当前的版本号?

最近需要在项目中获取项目的版本号,最笨的方法莫过于硬编码一个版本号,当然我也是这么干的。不过闲下来的时候突发奇想Spring Boot项目中pom.xml定义的版本号能不能通过API获得呢?...从配置文件读取 Maven在构建项目时可以通过资源插件将构建属性即pom.xml的属性注入到指定的资源文件,具体操作为: ... 恰好spring-boot-starter-parent已经设置了这种方式。...Spring Boot提供 Spring Boot其实已经内置了获取项目构建信息的自动配置ProjectInfoAutoConfiguration,它包含一个条件BeanBuildProperties:...spring-boot-version", "time" : { "epochSecond" : 1620664643, "nano" : 591000000 } } 总结 今天介绍了几种从通过API获取项目构建版本信息的方法

5.7K20

何在回调函数获取 WordPress 接口的当前优先级

下面开始教程: 如何获取 Hook 优先级 我们在 WordPress 进行开发的时候,肯定会使用到 WordPress 的 Hook,通过 add_filter 或者 add_action 把某个回调函数传递给某个...在回调函数,我们可以通过 current_filter 函数可以获取当前回调函数是在执行那个 Hook ,但是如果要获取当前回调函数优先级,WordPress 就没有相关的函数了,所以我自己写了一个...$hook->current_priority() : null; } 获取 Hook 优先级有什么用 我们可能要移除接口的某个回调函数,然后最后又要加回来,怎么处理呢?...如果和我一样为了偷懒,这前后的移除和添加的回调函数是同一个,那就要在回调函数判断当前的优先级了: function wpjam_filter_content_save_pre($content){...该功能已经整合到 WPJAM Basic 插件,并已免费提供下载,简单勾选或者设置下即可开启!

50930

前端测试题:(解析)如果要获取鼠标在当前文档的位置,可以使用下面哪些属性?

考核内容: 鼠标事件 题发散度: ★ 试题难度: ★ 解题: JS在触发事件时,会自动生成event对象传入到事件函数。...element.onmouseover=function(e){ console.log(event===e) } 常用api或属性 target: 表示事件目标本身 event.target; currentTarget:当前冒泡标签...阻止标签的默认行为 event.preventDefault(): stopPropagation():阻止冒泡或捕获 event.stopPropagation(); 一图以概之 总结:event事件的属性...: pageX返回触发鼠标事件时,鼠标指针相对于当前页面(文档)的水平坐标, pageY返回触发鼠标事件时,鼠标指针相对于当前页面(文档)的垂直坐标; screenX返回窗口/鼠标指针相对于屏幕的水平坐标..., screenY返回窗口/鼠标指针相对于屏幕的垂直坐标; clientX返回触发鼠标事件时,鼠标指针相对于当前窗口的水平坐标, clientY返回触发鼠标事件时,鼠标指针相对于当前窗口的垂直坐标;

1K30

Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)

它是如何在Angular 2工作的? Angular 2不具有双向digest cycle,这是与Angular 1不同的。...在Angular2,组件中发生的任何改变总是从当前组件传播到其所有子组件。如果一个子组件的更改需要反映到其父组件的层次结构,我们可以通过使用事件发射器api来发出事件。...如何在Angular 2启用延迟加载? 大多数企业应用程序包含用各式各样的用于特定业务案例的模块。捆绑整个应用程序代码并完成加载,会在初始调用时,产生巨大的性能开销。...loadChildren会从根文件夹获取绝对路径。RouterModule.forRoot()会获取routes数组并配置路由器。 在子模块中导入模块特定路由。...优化取决于应用程序的类型和大小以及许多其他因素。但一般来说,在优化Angular 2应用程序时,我会考虑以下几点: 考虑AOT编译。

17.3K80

Angular2 :从 beta 到 release4.0 版本升级总结

它可以向应用的依赖注入器添加服务提供商。 具体请参考官方文档。...路由事件实例,NavigationEnd表示导航事件变更完毕,等 反正改了挺多的,请自行查询官方API文档…[捂脸] 新增路由模块 路由使用NgModule创建,示例如下: import {NgModule...五、表单相关 依赖API更改 // 依赖某些API更改 // ControlGroup => FormGroup import {ControlGroup} from 'angular2/commom...无法从router里获取RouteParams的API。 原因:angular(v4.1.1),使用ActivatedRoute的API获取路由信息。...11.升级angular到(v4.1.1)版本后,等带动态src等属性触发error 原因:angular2启用安全无害化处理,为防止XSS等攻击,具体可参考官方文档安全。

8.1K00

实战 | Change Detection And Batch Update

当与用户或服务器发生交互时,需要我们手动获取数据并更新DOM,这个过程是繁琐的、易错的。...我们别急着下结论,我们知道应用程序状态的改变主要是下面三种情况引起的: Events - 点击按钮 Timers - setTimeout XHR - 从服务器获取数据 我们才测试了事件这一种情景,...综上,说setState是异步的需要加一个前提条件,在React调用的方法执行,这时我们需要通过回调获取到最新的state 相信这个道理大家不难理解,因为事件和生命周期方法都是React调用的,它想怎么玩就怎么玩...我们在控制台打印下scope,看下$$watchers的内容 因为只有val一个表达式所以$$watchers长度只有1 eq 是否进行数据的深度比较 exp 检测出错时log所用 fn 更新DOM get 获取当前数据...在内部异步队列优先使用MutationObserver,如果不支持则使用setTimeout(fn, 0) — vuejs.org 这是官方文档上的说明,抽象成代码就是这样的: Vue是通过JavaScript

3.2K20

Angular2学习笔记

虽然这套框架我个人觉得可能的确比较适合做移动端Web的开发,但是由于网站开发的经验明显不足,加上这套技术还不是相当的成熟,在学习的过程走了很多的弯路。...不过还好,经过这一段时间的倒腾,好歹把Angular2的东西稍微消化了一点,相比啥都不会,也算是有点收获吧。 基础配置 刚学习Angular2的时候,是照着他的中文文档上来的。...但是,用测试环境你会发现项目非常的巨大,一个啥依赖都没有的'Hello world'就足足有3MB的大小,这显然是用户无法接受的。 那么为什么他会有这么大呢?...但是他也有很多的缺点,Angular2文档列举了下面几点: 渲染得更快; 需要的异步请求更少; 需要下载的Angular框架体积更小; 提早检测模板错误; 更安全; 于是,Angular2又提出了一个新的编译方法叫...参考文章 angular-cli angular中文文档 nginx发布Angular2

2K10

Change Detection And Batch Update

本文作者:IMWeb 吴浩麟 原文出处:IMWeb社区 未经同意,禁止转载 前言 在传统的WEB开发,当与用户或服务器发生交互时,需要我们手动获取数据并更新DOM,这个过程是繁琐的、易错的。...我们别急着下结论,我们知道应用程序状态的改变主要是下面三种情况引起的: Events - 点击按钮 Timers - setTimeout XHR - 从服务器获取数据 我们才测试了事件这一种情景,...综上,说setState是异步的需要加一个前提条件,在React调用的方法执行,这时我们需要通过回调获取到最新的state this.setState({val: 1}, () => { console.log...因为只有val一个表达式所以$$watchers长度只有1 eq 是否进行数据的深度比较 exp 检测出错时log所用 fn 更新DOM get 获取当前数据 last 老的数据 那么Angular1是如何感知到数据变化的呢...在内部异步队列优先使用MutationObserver,如果不支持则使用setTimeout(fn, 0) — vuejs.org 这是官方文档上的说明,抽象成代码就是这样的 var waiting

3.7K70

Change Detection And Batch Update

本文作者:IMWeb 吴浩麟 原文出处:IMWeb社区 未经同意,禁止转载 前言 在传统的WEB开发,当与用户或服务器发生交互时,需要我们手动获取数据并更新DOM,这个过程是繁琐的、易错的。...我们别急着下结论,我们知道应用程序状态的改变主要是下面三种情况引起的: Events - 点击按钮 Timers - setTimeout XHR - 从服务器获取数据 我们才测试了事件这一种情景,...综上,说setState是异步的需要加一个前提条件,在React调用的方法执行,这时我们需要通过回调获取到最新的state this.setState({val: 1}, () => { console.log...我们在控制台打印下scope,看下$$watchers的内容 因为只有val一个表达式所以$$watchers长度只有1 eq 是否进行数据的深度比较 exp 检测出错时log所用 fn 更新DOM get 获取当前数据...在内部异步队列优先使用MutationObserver,如果不支持则使用setTimeout(fn, 0) — vuejs.org 这是官方文档上的说明,抽象成代码就是这样的 var waiting

3.3K40

Angular2 之 Animations

Angular2的动画系统赋予了制作各种动画效果的能力,致力于构建出与原生CSS动画性能相同的动画。 Angular2的动画主要是和@Component结合在了一起。...使用要点 Angular2的动画是使用模型驱动的方式在两个状态之间进行转换,是由状态和状态之间的转场效果所定义的。 动画被定义在@Component元数据。...这些属性包括位置(position)、大小(size)、变换(transform)、颜色(color)、边框(border)等很多属性。W3C维护着 一个“可动”属性列表。...当定义那些不需要管当前处于什么状态的样式及转场时,这很有用。 void状态 有一种叫做void的特殊状态,它可以应用在任何动画中。它表示元素没有被附加到视图。...可以用三种方式定义持续时间: 作为一个普通数字,以毫秒为单位,:100 作为一个字符串,以毫秒为单位,:'100ms' 作为一个字符串,以秒为单位,:'0.1s' 延迟 延迟控制的是在动画已经触发但尚未真正开始转场之前要等待多久

1.9K10

Angular2 VS Angular4 深度对比:特性、性能

接下来一起了解Angular2这个版本发布的原因以及如何将其添加到Web开发。 ...Angular2解决了这个问题,另外还添加了一些缺少的功能,子注入以及生命周期/范围控制。 注解: AtScript提供了连接元数据和功能的工具。...动态载入: 这是之前的Angular版本均不具备的功能,Angular2包含了这个功能,即使在开发人员忙碌时,也能够添加新的指令或控件。 模板: 在Angular2,模板编译过程是异步的。...scope: $scope 从Angular2删除了。...这些修改促使视图部分生成的代码大小减少了大约60%。模板越是复杂,节省的就越多。 动画包: Angular4的开发人员将动画从Angular的核心部分提取出来,并将它们放在独立的包

8.7K20

Vuejs和其他前端框架的对比

状态管理 vs 对象属性 如果你对React熟悉,你就会知道应用的状态是(React)关键的概念。也有一些配套框架被设计为管理一个大的state对象,Redux。...则不需要使用setState()之类的方法去改变它的状态,在Vue对象,data参数就是应用数据的保存者。...##大小和性能 在性能方面,这两个框架都非常的快,我们也没有足够的实际应用数据来下一个结论。如果你一定想看些数据的话,你可以参考这个第三方跑分。...在大小方面,最近的 Angular 版本在使用了 AOT 和 tree-shaking 技术后使得最终的代码体积减小了许多。...比如 list differ 算法 Angular2 可以支持实现了Symbol.iterator的对象,而Vue只能支持Array。

3.8K110

Angular2:从AngularJS 1.x 中学到的经验

本文选自《迈向Angular 2》,让我们看看Angular2解决了哪些在1.x版本困扰我们的问题。...一开始的时候,这种方式用来实现一些很简单的功能,例如修改标签的大小,或者快速粗暴地修改标签的样式。另一个值得注意的反模式就是:在不同的控制器重复实现相同的业务逻辑。...根据从AngularJS 1.x 获得的经验,还有一件事情我们已经习惯了,那就是模板指令里面使用的微语法(microsyntax ),ng-if、nf-for。...在《迈向Angular2》第4 章Angular 2 的组件和指令,我们会讨论Angular 2 的模板。...最终结果就是:Angular 2 中有两种内置脏值检测机制: 动态脏值检测:与AngularJS 1.x 的脏值检测机制类似。用于不允许eval()的系统CSP 插件和Chrome 插件。

2.7K10

20个为前端开发者准备的文档和指南8

Angular Cheat Sheet(Angular参考手册) 它有一部分是Angular2的官方文档,是一个可以根据JavaScript,TypeScript,和Dart选项来查看相关语法的一站式的网站...Angular2介绍链接地址: https://zhuanlan.zhihu.com/p/20058966 TypeScript介绍的链接地址: http://baike.sogou.com/v70611007...打开你的开发者工具控制台查看获取到关于service worker正在做的事情的事件和通知信息。” ? 14....JavaScripting(JavaScript资源集合) 它是一个可以通过包括动画、DOM、表单、帮助文档、音频、视频等类别来过滤查找JavaScript库、框架和插件的一个网站。 ? 15....ARIA in HTML(在HTML里使用ARIA注释) “它是开发者一个实用的指南,通过使用确定了使得Web内容和Web应用能够被残疾人使用方法的ARIA说明书[WAI-ARIA-1.1]来说明如何在

1.3K50

前端人员该怎么面试 经典Angular面试题有哪些

例如,ngOnint界面的OnInit方法,这个方法必须在组件实现。 #FormatImgID_0# 2、事件发射器如何在Angular 2工作的?...在Angular2,组件中发生的任何改变总是从当前组件传播到其所有子组件。如果一个子组件的更改需要反映到其父组件的层次结构,我们可以通过使用事件发射器api来发出事件。...优化取决于应用程序的类型和大小以及许多其他因素。一般来说,在优化Angular 2应用程序时要考虑以下几点: 1)考虑AOT编译。...AngularJS你可以创建自己的服务,或使用内建服务。...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

4.1K80

vue.js与其他前端框架的对比

状态管理 vs 对象属性 如果你对React熟悉,你就会知道应用的状态是(React)关键的概念。也有一些配套框架被设计为管理一个大的state对象,Redux。...则不需要使用setState()之类的方法去改变它的状态,在Vue对象,data参数就是应用数据的保存者。...大小和性能 在性能方面,这两个框架都非常的快,我们也没有足够的实际应用数据来下一个结论。如果你一定想看些数据的话,你可以参考这个第三方跑分。...在大小方面,最近的 Angular 版本在使用了 AOT 和 tree-shaking 技术后使得最终的代码体积减小了许多。...比如 list differ 算法 Angular2 可以支持实现了Symbol.iterator的对象,而Vue只能支持Array。

4.1K80

Angular2学习记录-给后端程序员的经验分享

TypeScript中文网 https://www.tslang.cn/docs/tutorial.html 慕课网1小时快速上手视频 http://www.imooc.com/learn/789 官方文档...号参数风格的.两种参数都保存在ActivatedRoute对象,因此下面代码的route为此对象 — restful风格 配置:{path:'article/:id',component:ArticleComponent...} 链接:http://domain/article/1 路由:[routerLink]="['article',article.id]"或者直接拼接url js获取:this.route.params...id=1 路由:routerLink="article" [queryParams]="{id: article.id}" js获取:this.route.queryParams的一系列方法,或者this.route.snapshot.queryParams...怎么获得input框所选中的文件(为input绑定change事件,然后获取$event,文件就是event.srcElement.files[0]) 怎么上传到服务器?

3.1K20

ASP.NET Core + Angular 2 Template for Visual Studio服务器端预加载的意义何在?Webpack 开发中间件模块热拔插(HMR)

快速构建:对于开发来说,你不需要再等待再每次更改之后,webpack去重新解析第三方代码,因为第三方类库将会独立到另外的一个bundle,另外,超快速的构建包含了所有的map文件便于调试,再发布版本的文件却将直接输出压缩版本...,再发布过程,这些工作将自动完成。...服务器端预加载的意义何在? 意义并不在于让支持哪些不运行javascript的浏览器,它只是一种极端情况而已(如果为了这种极端情况,那还为什么要建立一个SPA应用呢?)...假如你不想使用预加载,可以通过移除在Views/Home/Index.cshtml的app标签的asp-prerender-module属性来禁用它。...Webpack集成 当前系统里的代码使用typescript编写,这就是说你需要在运行它之前先构建它,就像你使用SASS一样,需要在使用之前编码,甚至捆绑和压缩它。

3.3K60
领券