【发布时间】:2018-06-08 14:47:01
【问题描述】:
我在使用 AngularJS 时遇到问题,因为我在两个模板中重用变量名时会出现问题。我的设置的简化版本如下,route.js中声明的两个页面
$routeProvider.when('/a', {
templateUrl: 'a.html'
})
.when('/b', {
templateUrl: 'b.html'
})
每个页面(a.html 和 b.html)都有一个类似这样的脚本标签
<script type="text/javascript">
let foo = 5;
</script>
还有一个用于在页面之间导航的导航菜单。问题是当我从一页转到另一页时,我得到一个错误
Uncaught SyntaxError: Identifier 'foo' has already been declared
我知道我可以更改变量名,但我想知道为什么会这样,因为我的直觉是不应该这样。在 Angular 中使用脚本标签我错了吗?这可能是由其他原因引起的吗?谢谢
【问题讨论】:
-
var语句允许重新声明; ES6let语句禁止重新声明。由于您是在全局范围内执行此操作,因此无需使用let语句。
标签: javascript angularjs ecmascript-6