【发布时间】:2016-08-16 16:27:46
【问题描述】:
这是场景:
我有一个主要的 AngularJS 应用程序,它使用 ui-router 进行路由,就像任何其他应用程序一样。我还有一个较小的 AngularJS 模块,它作为自己的应用程序运行,不需要它是我的较大应用程序的子模块。
我也希望较小的应用程序也能处理自己的路由和模板。这里的目标是,迷你应用程序可以由另一个 AngularJS 应用程序加载,或者自己加载,并且已经设置了它的所有路由和模板。
主应用:
angular
.module('mainApp')
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('mainAppParent', {
url: '/',
templateUrl: 'main.html',
controller: 'mainCtrl',
controllerAs: 'vm'
})
.state('mainAppParent.miniJournalApp', {
url: '/journal'
});
}]);
小程序:
angular
.module('miniJournalApp')
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('mainJournalState', {
url: '/',
templateUrl: 'mainJournalView.html',
controller: 'JournalCtrl',
controllerAs: 'vm'
})
.state('newEntry', {
url: '/new'
});
}]);
我打算让迷你应用程序的所有组件都成为 AngularJS .component(),所以我想知道这样做的正确方法是否是让父应用程序处理路由,并让迷你应用程序在我定义每个组件/指令时处理模板。然后,当我想自己加载迷你应用程序时,我只需编写一个带有新路由的包装 AngularJS 模块。
【问题讨论】:
标签: angularjs angularjs-directive angular-ui-router