我有以下项目配置:
var app = angular.module('myApp', []);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/aaa',
{templateUrl: config.base_url + 'app/partials/aaa/index.html',
controller: 'AAACtrl'});
$routeProvider.when('/bbb',
{templateUrl: config.base_url + 'app/partials/bbb/index.html',
controller: 'BBBCtrl'});
$routeProvider.when('/ccc',
{templateUrl: config.base_url + 'app/ccc/reportsView.html',
controller: 'reportCtrl'});
}]);
您可以看到我没有加载ui.bootstrap
模块。
reportCtrl
看起来像:
app.controller('reportCtrl',
['$scope', function($scope) { /**/}
根据此演示Plunker我想使用datepicker。但是,它需要将ui.bootstrap
模块添加到app
。但我不想添加到我的所有项目(以防止冲突)。我很有兴趣只在一个控制器中使用ui.bootstrap
模块。
我使用codeigniter,每个控制器使用自己的标头。
我怎样才能做到这一点?
谢谢,
答案 0 :(得分:1)
我想到的一件事是创建不同的模块和routeProvider。请注意,我们可以通过添加myApp
来“扩展”父模块,以便使用服务/指令引用myApp
。
var appReport = angular.module('myAppReport', ['myApp','ui.bootstrap']);
// ^^^ ^^^
// new module extends old one
// we just split $routerProvider
appReport.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/ccc',
{templateUrl: config.base_url + 'app/ccc/reportsView.html',
controller: 'reportCtrl'});
}]);
因此myApp
看起来像是:
var app = angular.module('myApp', []);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/aaa',
{templateUrl: config.base_url + 'app/partials/aaa/index.html',
controller: 'AAACtrl'});
$routeProvider.when('/bbb',
{templateUrl: config.base_url + 'app/partials/bbb/index.html',
controller: 'BBBCtrl'});
}]);