使用SystemJS动态加载AngularJS控制器/视图
有没有一种方法可以以模块化的方式动态构建/编写AngularJS 根据SystemJS中的页面路由加载/要求控制器/视图 编辑: 这就是我目前所拥有的,作为使用SystemJS的试用 app.js-这是在index.html中获取导入的主文件 \u index.js-所有控制器的索引使用SystemJS动态加载AngularJS控制器/视图,angularjs,systemjs,Angularjs,Systemjs,有没有一种方法可以以模块化的方式动态构建/编写AngularJS 根据SystemJS中的页面路由加载/要求控制器/视图 编辑: 这就是我目前所拥有的,作为使用SystemJS的试用 app.js-这是在index.html中获取导入的主文件 \u index.js-所有控制器的索引 import { navCtrl } from './nav.js'; import { aboutCtrl } from './about.js'; var app = angular.module('seed
import { navCtrl } from './nav.js';
import { aboutCtrl } from './about.js';
var app = angular.module('seedApp.controllers', []);
app.controller('navCtrl', navCtrl);
app.controller('aboutCtrl', aboutCtrl);
routes.config.js
简短回答
否
。
长回答是
,但您需要使用angular插件,因为angular 1.x本机不支持这一点(angular 2.x中可能会支持这一点)。
顺便说一句,如果您试图动态加载文件,则需要使用System.import
希望这会有帮助。是的。你试过什么?我用一些附加信息编辑了这个问题。我假设使用Babel的系统模块会通过system.register自动使一切动态化。然而,再想想,由于我一次加载所有角度模块,它可能无法工作。因此,出现了这个问题。
import { navCtrl } from './nav.js';
import { aboutCtrl } from './about.js';
var app = angular.module('seedApp.controllers', []);
app.controller('navCtrl', navCtrl);
app.controller('aboutCtrl', aboutCtrl);
import 'angular-ui-router';
var app = angular.module('seedApp.route', ['ui.router']);
app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'app/views/home.html'
})
.state('about', {
url: '/about',
templateUrl: 'app/views/about.html',
controller: 'aboutCtrl as about'
});
}]);
export default app;