我正在使用ngClip插件尝试向我的网络应用添加“复制到剪贴板”选项。我也在我的模块配置中使用ui-router。问题是,当我将ngClipProvider依赖项添加到我的.config时,$ urlRouterProvider变为未定义。当我删除它时,$ urlRouterProvider再次成为一个对象。以下是我的代码:
var app = angular.module('app',['ui.router', 'ui.date', 'ngAnimate', 'angular-loading-bar', 'orders-directives', 'orders-controllers', 'orders-services', 'orders-factories', 'ngClipboard']);
//Config
app.config(['ngClipProvider', function($stateProvider, $urlRouterProvider, ngClipProvider){
$urlRouterProvider.otherwise('/');
$stateProvider.state('/', {
url: '/',
templateUrl: 'templates/admin-view.html',
controller: 'ordersController as ordersCtrl'
}).state('order', {
url: '/order/:ordernum?id',
templateUrl: 'templates/order-details.html',
controller: 'orderDetailsController as orderCtrl'
}).state('export', {
url: '/export',
templateUrl: 'templates/review-export.html',
controller: 'reviewExportController as reviewExportCtrl'
});
//ngClipProvider.setPath("../plugins/ZeroClipboard/ZeroClipboard.swf");
}]);
如果我从函数参数中删除“['ngClipProvider .....]”部分和“ngClipProvider”,一切正常。如上所述,$ urlRouterProvider为空。
答案 0 :(得分:1)
您正在弄乱 inline dependency injection 数组,错过了在'$stateProvider', '$urlRouterProvider'
之前添加'ngClipProvider'
app.config(['$stateProvider', '$urlRouterProvider', 'ngClipProvider',
function($stateProvider, $urlRouterProvider, ngClipProvider){
//code here...
}])