angularjs - 如何让这个关键字指向 webpack 中的 window 对象?
问题描述
我已经使用 webpack 和导入/导出语法将 AngularJS 应用程序转换为 es6。
this
除了关键字,一切都很完美。
由于 webpack 在编译期间将我的所有代码包装到 iife 函数(模块)中,因此关键字this
在函数中未定义,例如:
.controller( …, function() {
...
this.myFunc = function() {
someFunction().then(function(data) {
this.someVar = data;
// this === window
});
});
});
在没有捆绑的普通角度应用程序中,这会得到window
Object.
除了使用 webpack 之外,我不想做大的改变(我有很多代码地方都有)。有没有办法在 webpack中保持this
指向对象?window
解决方案
Webpack 确实强制代码使用“严格模式”。问题来自对 ES6import
语句的使用。
从文档:
静态导入语句用于导入由另一个模块导出的绑定。无论您是否声明,导入的模块都处于严格模式。
有关详细信息,请参阅
推荐阅读
- javascript - 当我的异步函数前面没有等待时,try catch 块会捕获错误吗?
- sql - 无法找出转换 sql 附近的错误
- ios - Swift 4 如何从日历中获取所有事件?
- java - 在 ubntu(linux) 中找不到 Firefox 二进制路径
- android - 无法解析行 anko kotlin
- phantomjs - PhantomJS 或 CasperJS 表单自动提交
- spring-boot - 考虑在你的配置中定义一个“reactor.core.scheduler.Scheduler”类型的bean
- python - numpy:沿第三维连接两个数组
- nginx - E: 无法锁定管理目录 (/var/lib/dpkg/),你是 root 吗?树莓派
- ios - SDWebImage 错误的单元格图像