正在努力让 AngularJS 应用程序在 ES6 上运行。从历史上看,我一直使用允许控制器文件向应用程序注册自己的模式,因为这样我就不用担心文件定义了什么控制器、服务等。使用 require() 我已经能够对依赖项和初始化进行排序,这样这很容易,并且可以专注于控制器文件。
考虑迁移到 ES6 并使用 import 而不是 require() 并且发现订单相关代码不再有效。附件是我想做的粗略近似(从不运行)版本。
我唯一想到的是可以从 index.js 中导出 RegisterIndexController() 函数,然后让 app.js 调用它。哪个有效,但想知道我是否可以以另一种方式推动依赖。控制器可以从 app.js 传递“app”
应用程序.js
app = angular.module('app', ['ui.router'])
angular.element(document).ready(() => angular.bootstrap(document, ['app']))
import './controllers/index'
app.run(() => {
})
index.js
app.controller('IndexController', IndexController)
class IndexController {
/*@ngInject*/
constructor() {
this.count = 10
}
}
索引.html
<div ng-controller="IndexController as vm">
{{ vm.count }}
</div>