如何为AngularJS指定多个提供程序?
现在我在2个地方做这个,但这似乎不起作用:
var myApp = angular.module("myApp", ['ngRoute']);
// configure our routes
myApp.config(function($routeProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
// route for the about page
.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController'
})
// route for the contact page
.when('/contact', {
templateUrl : 'pages/contact.html',
controller : 'contactController'
});
});
myApp.config(function($interpolateProvider){
$interpolateProvider.startSymbol('((').endSymbol('))');
}
);
答案 0 :(得分:1)
使用单个函数引用:
myApp.config(foo)
注入每个提供者:
function foo($routeProvider, $interpolateProvider)
{
/* interpolateProvider configuration */
$interpolateProvider.startSymbol('((').endSymbol('))');
/* routeProvider configuration */
$routeProvider
.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})
.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController'
})
.when('/contact', {
templateUrl : 'pages/contact.html',
controller : 'contactController'
});
}
/* module creation */
var myApp = angular.module("myApp",[]);
/* provider binding */
myApp.config(foo);
/* Manual bootstrapping */
angular.bootstrap(document, ['myApp']);
/* $inject Property Annotation */
foo.$inject['$routeProvider', '$interpolateProvider'];
提供程序本质上是用于创建和配置AngularJS工件实例的对象。因此,为了注册一个惰性控制器,你可以使用$ controllerProvider。类似地,要注册指令,您将使用$ compileProvider来注册您将使用$ filterProvider的过滤器,并注册其他服务,您将使用$ provide服务。
<强>参考强>