Angularjs 使用ES6和systemjs.import延迟加载角度模块
我正在尝试使用system.load创建一个基本路由,并使用angular Resolution延迟加载单独的模块 基本路由配置如下所示Angularjs 使用ES6和systemjs.import延迟加载角度模块,angularjs,jspm,systemjs,Angularjs,Jspm,Systemjs,我正在尝试使用system.load创建一个基本路由,并使用angular Resolution延迟加载单独的模块 基本路由配置如下所示 import "angular"; import "angular-ui-router"; class RouteConfig { constructor($stateProvider, $urlRouterProvider){ this.stateProvider = $stateProvider; this.ur
import "angular";
import "angular-ui-router";
class RouteConfig {
constructor($stateProvider, $urlRouterProvider){
this.stateProvider = $stateProvider;
this.urlRouterProvider = $urlRouterProvider;
$stateProvider
.state("index", {
url: "/",
templateUrl: "/app/common/templates/home.html",
})
.state('order',{
url:'/order',
templateUrl:"/app/modules/order/templates/order.html",
//controller:"order.controller as orderCtrl",
resolve:{
load:()=>{
System.import('app/modules/order/order.module');
System.import('app/modules/order/order.controller');
}
}
});
$urlRouterProvider.otherwise("/");
};
static factory($stateProvider, $urlRouterProvider){
RouteConfig.instance = new RouteConfig($stateProvider,$urlRouterProvider);
return RouteConfig.instance;
};
}
RouteConfig.factory.$inject = ['$stateProvider', '$urlRouterProvider'];
export default RouteConfig;
现在,我正在尝试根据所需的模块延迟加载控制器。
因此,模块和控制器加载为
输入“角度”;
导入“角度ui路由器”
和控制器
"use strict";
class OrderController {
constructor() {
this.order = "Please place an order";
}
static factory() {
OrderController.instance = new OrderController();
return OrderController.instance;
}
}
angular.module('order.module').controller('Order.Controller', OrderController);
export default OrderController;
现在当我尝试这个的时候。这给了我一个错误
有人能告诉我如何加载这个模块吗。似乎angular模块文件是通过systemjs加载的,但它没有注册angular模块。有什么解决办法吗 尝试使用:
System.import('app/modules/order/order.module')
.then(function () {
System.import('app/modules/order/order.controller');
});
内部load()
解决尝试使用:
System.import('app/modules/order/order.module')
.then(function () {
System.import('app/modules/order/order.controller');
});
内部load()
resolve