我想在Angular应用程序中使用ES6类并试图像这样使用它:
'use strict';
class EditorCtrl{
constructor(){
this.something = "ASd";
}
foo(){
}
}
angular.module('Editor').controller('EditorCtrl', EditorCtrl);
但由于某种原因,此代码会给我一个错误:Class constructors cannot be invoked without 'new'
。为什么会发生这种情况以及如何解决这个问题?
Angular:1.4.7 Chrome:46.0.2490.71
答案 0 :(得分:1)
'use strict';
class EditorCtrl{
constructor($scope){
this.something = "ASd";
}
foo(){
}
}
// Use this instead.
angular.module('Editor').controller('EditorCtrl', ['$scope', function($scope) {
return new EditorCtrl($scope);
}]);
由于错误通知必须返回'new'。这样注射也会起作用。 欢呼声。
答案 1 :(得分:0)
这似乎有效:
angular
.module('Editor')
.controller('EditorCtrl', () => new EditorCtrl())