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

Angular 2在IE中不工作

是因为Angular 2使用了一些ES6和ES7的新特性,而IE浏览器不完全支持这些新特性。以下是对这个问题的完善且全面的答案:

Angular 2是一种用于构建Web应用程序的开发框架,它是AngularJS的升级版本。它采用了组件化的开发模式,通过使用TypeScript编写代码,提供了更好的可维护性和可扩展性。

在IE浏览器中,Angular 2不工作的原因是IE浏览器对于一些ES6和ES7的新特性的支持不完善。这些新特性包括箭头函数、模板字符串、类的静态方法、Promise等。由于IE浏览器不支持这些新特性,导致Angular 2在IE中无法正常运行。

为了解决这个问题,可以采取以下几种方法:

  1. 使用Polyfills:Polyfills是一种用于填充浏览器功能差异的代码库。可以使用一些Polyfills来填充IE浏览器对于ES6和ES7新特性的不支持,从而使Angular 2在IE中正常工作。具体可以使用core-js和zone.js等Polyfills库。
  2. 使用Babel进行代码转换:Babel是一种广泛使用的JavaScript编译器,可以将ES6和ES7的代码转换为ES5的代码,从而兼容更多的浏览器。可以使用Babel将Angular 2的代码转换为ES5的代码,然后在IE中运行。
  3. 使用Angular的低版本:如果在IE中使用Angular 2仍然存在问题,可以考虑使用Angular的低版本,如AngularJS 1.x。AngularJS 1.x是一个成熟的版本,对于IE浏览器的支持更好。

总结起来,Angular 2在IE中不工作是因为IE浏览器不完全支持ES6和ES7的新特性。为了解决这个问题,可以使用Polyfills、Babel进行代码转换,或者考虑使用Angular的低版本。

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

相关·内容

Angular专题】——(2)【译】Angular的ForwardRef

原文地址:https://blog.thoughtram.io/angular/2015/09/03/forward-references-in-angular-2.html 作者:Christoph...问题点在哪里 先做一个小声明,我们现在拥有一个AppComponent,并使用DI系统向其中注入了一个NameService,因为我们使用的是Typescript,所以需要做的工作就是构造函数的参数声明变量..."; } } 上述代码是可以正常工作的,如果我们将nameService.ts的代码直接嵌入app.ts时,会产生哪些变化呢?...无论如何,当我们调试器打开Pause on caught exceptions功能时,就会在Angular框架捕获这个错误: Cannot resolve all parameters for...小结 这个场景并不会经常出现,一般它只在当我们想要注入同一个文件声明的类时才会发生,大多数情况下我们一个文件只会声明一个类,并且会在文件的头部引入其他依赖的类,以此来保证不会被class不进行变量提升的特性造成困扰

3.2K20

vueIE下无法正常工作,Promise未定义?

用vue写了一个日历组件,Firefox、Edge、Chrome以及360等浏览器极速模式运行一切正常,如图: 但在IE和360等浏览器的兼容模式下却显示了模板,看起来像乱码一样,如图: 按F12...左思右想,突然灵光一闪,ES5的函数声明并不能为形参赋默认值,这种写法是ES6新增的,而IE兼容ES6的,那就把代码改一改,这里不再赋默认值,为了让方法可以正确执行而不报错,调用这个方法的地方都强制传参就好了...`es6-promise`项目[github地址](https://github.com/stefanpenner/es6-promise) 现在,这个组件终于可以IE上正常展示了!...最后,我们的项目是否需要兼容ES5需要您对您的用户有一个较为明确的认知,并不是所有项目都需要去做ES5兼容,毕竟因此会增加不少的工作量。...VUE: 1 / 1 vueIE下无法正常工作,Promise未定义?

4.1K20

关于angular2引入第三方插件或者框架(jquery)

由于本人也是初入angular2不久,很多问题也许解决了,确不知其原由,也有一些问题,解决了后面又出来同样的错误,关于这些,请谅解....关于这个问题,我自己也是想了很久,总算是能用上了, 想在angular2引用jquery的话,高大上的一个方法是,package.json的dependencies写入,执行cnpm i;安装;.../assets/css/index.css'], templateUrl: 'index.component.html' }) 或者是typings.d.ts声明引入,这样就可以在所有的组件中直接使用...,而不需要在每个组件重复声明: 代码如下: declare var JQuery: any; declare var jQuery: any; declare var $: any; 最后一步,.angular.cli.json...最后一步也可以这样做,首页,src下面的index.html,直接引入jquery.min.js,也是可以的,不过这样就显的有点Low了! 欢迎讨论!

2.3K40

使用angular2使用nodejs创建服务器,并成功获取参数

首先创建服务器: 1.最好使用express,这个库有更多的api,方法:npm install express --save; 2. npm install @types/express --save...const products:Produce[] =[ new Produce(1,"第一个商品",1.99,3.5,"这是第一个商品描述",["图书","音乐"]), new Produce(2,...app.get("/api/products",(req,res)=>{ res.json(products) }) app.get("/api/products/:id",(req,res)=>{ //命令行打印...引入过了,这里需要声明构造函数里头,并引入Http from "@angular/Http"; 接着就是坑了,写完后,发现还是获取不到服务器上的数据: 接下来还有配置: 根目录新建一个文件:proxy.conf.json... 内容为: { "/api":{ "target":"http://localhost:8000" } } 然后package.json文件,修改一行 "start": "ng serve

4.3K70

关于拖拽功能在IE11 、Firefox和Safari兼容的问题

拖拽功能不兼容主要有4大主要原因: 1是event的path属性引起的bug(ie,firebox,safari) 2是event的dataTransfer.setData属性(ie,firebox...) 3是firefox拖动的时候会打开一个新窗口 (firbox) 4是ie11不支持onclick属性方法 ; ie11 里元素对象的attributes的排序和其他浏览器不同, ie11 ...remove()方法work (ie) 对于原因1的解决方案 其中IE11 压根就不支持path属性,firefox和Safari还勉强通过hack的方式获取到path,获取方式如下: const...对于原因2的解决方案 IE11, firefox 都有dataTransfer.setData的问题, Safari没有可以不用管。...attributes的属性排序和其他浏览器不同,会引起bug。

3.2K30

工作工作心得随时分享(2

2 signoff guide如果没有明确说clock derate如何加,那么需要这样的考虑: ss lib的电压是下限,需要考虑路径电压高于基准电压的情况,因此需要考虑让capture clock...ff lib的电压是上限,需要考虑路径电压低于基准电压的情况,因此需要考虑launch clock变得更慢的情形。...3 熟记这几个corner,对你的工作将会有帮助: wc:worst case:代表ss corner, 低压, 125度的情况。...4 以前写了一些pv提速的文章,有写到如何不更改源文件,通过include语句更改源文件情况下进行参数的设置。最主要的是指定gds cdl的路径等。...因为经常有人问,因此需要澄清一下,源文件相关语句确实需要先注释掉,然后再存为golden,这样才可以更改这个文件。如果注释,是没有办法通过覆盖的方式完成的,会报error。

22710
领券