Html 运行AngularJS ES6时出错

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

我正在尝试使用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"></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中提供了。