Html 运行AngularJS ES6时出错
我正在尝试使用html中最新的ES6语法运行一个简单的AngularJS示例。以下是我的html代码:Html 运行AngularJS ES6时出错,html,angularjs,ecmascript-6,Html,Angularjs,Ecmascript 6,我正在尝试使用html中最新的ES6语法运行一个简单的AngularJS示例。以下是我的html代码: <!DOCTYPE html> <html> <head> <title>Basic Angular JS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></scri
<!DOCTYPE html>
<html>
<head>
<title>Basic Angular JS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script data-require="es6-shim@0.32.2" data-semver="0.32.2" src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.32.2/es6-shim.min.js"></script>
</head>
<body>
<div ng-app="app" ng-controller="SampleCtrl as sc">
<h3>Hello {{sc.firstName + " " + sc.lastName}}!</h3>
</div>
<script>
(function(){
'use strict';
class SampleCtrl {
constructor () {
this.firstName = "John";
this.lastName = "Doe";
console.log("ctrl works");
}
}
angular
.module('app')
.controller('SampleCtrl', SampleCtrl);
})();
</script>
</body>
</html>
更新:将模块声明固定为:
angular
.module('app', [])
.controller('SampleCtrl', SampleCtrl);
但现在我在控制台中遇到以下错误:
TypeError:在没有“new”的情况下无法调用类构造函数SampleCtrl
您错误地声明了应用程序我相信:
angular
.module('app', [])
.controller('SampleCtrl', SampleCtrl);
请尝试这样做您错误地声明了应用程序我相信:
angular
.module('app', [])
.controller('SampleCtrl', SampleCtrl);
试着用它来代替
angular.module('app',[]).controller('SampleCtrl', SampleCtrl);
如果要使用检索现有模块,可以使用
angular.module('app').controller('SampleCtrl', SampleCtrl);
如果要创建新模块或覆盖任何现有模块,请使用以下命令:
angular.module('app',[]).controller('SampleCtrl', SampleCtrl);
使用
如果要使用检索现有模块,可以使用
angular.module('app').controller('SampleCtrl', SampleCtrl);
如果要创建新模块或覆盖任何现有模块,请使用以下命令:
angular.module('app',[]).controller('SampleCtrl', SampleCtrl);
使用Angular JS 1.6.x版最终解决了这个问题
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.min.js"></script>
问题最终通过使用Angular JS 1.6.x版解决
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.min.js"></script>
修复了。。。现在我在控制台中遇到错误:TypeError:Class构造函数SampleCtrl不能在没有'new'@BangularTK Try 1.5.x的情况下调用。我不记得这是什么时候修好的,但我相信是的。@estus YESSS!我试过1.6.x,现在它的效果很好!!我对你感激不尽!:)@不客气。大约一年前,Angular团队在ES6上进行了一些更新,但我认为它们已经在1.4.8中提供了。修复了。。。现在我在控制台中遇到错误:TypeError:Class构造函数SampleCtrl不能在没有'new'@BangularTK Try 1.5.x的情况下调用。我不记得这是什么时候修好的,但我相信是的。@estus YESSS!我试过1.6.x,现在它的效果很好!!我对你感激不尽!:)@不客气。大约一年前,Angular团队在ES6上进行了一些更新,但我认为它们已经在1.4.8中提供了。