我正在使用这个角度种子项目https://github.com/angular/angular-seed并用ui-router替换了ng-route。这几乎是由我没有找到如何解决这个错误。
angular.js:9503错误:[$ injector:unpr]未知提供者:interpolateFilterProvider< - interpolateFilter http://errors.angularjs.org/1.2.13/ $注射器/ unpr?P0 = interpolateFilterProvider%20%3 C-%20interpolateFilter 在angular.js:78 在angular.js:3556 at Object.getService [as get](angular.js:3683) 在angular.js:3561 at Object.getService [as get](angular.js:3683) 在Parser。$ filter(angular.js:13972) 在Parser.filter(angular.js:10090) 在Parser.filterChain(angular.js:10081) 在Parser.statements(angular.js:10056) 在Parser.parse(angular.js:9935)
这是我的完整代码
var myApp=angular.module('myApp', [
'ui.router',
'myApp.view1',
'myApp.view2'
]);
myApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/view1');
}]);
var myApp = angular.module('myApp.view1', ['ui.router']);
myApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/view1');
$stateProvider
.state('view1', {
url: '/view1',
templateUrl: 'view1/view1.html',
controller: 'View1Ctrl'
});
});
myApp.controller('View1Ctrl', [function() {
}]);
var myApp = angular.module('myApp.view2', ['ui.router']);
myApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/view2');
$stateProvider
.state('view2', {
url: '/view2',
templateUrl: 'view2/view2.html',
controller: 'View2Ctrl'
});
});
myApp.controller('View2Ctrl', [function() {
}]);
<div ui-view>This is the partial for view 1.</div>
<p>This is the partial for view 2.</p>
<p>
Showing of 'interpolate' filter:
{{ 'Current version is v%VERSION%.' | interpolate }}
</p>
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>My AngularJS App</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="bower_components/html5- boilerplate/dist/css/normalize.css">
<link rel="stylesheet" href="bower_components/html5-boilerplate/dist/css/main.css">
<link rel="stylesheet" href="app.css">
<script src="bower_components/html5-boilerplate/dist/js/vendor/modernizr-2.8.3.min.js"></script>
<script src="http://code.angularjs.org/1.2.13/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
</head>
<body ng-app="myApp">
<div ui-view></div>
<ul class="menu">
<li><a ui-sref="view1">view1</a></li>
<li><a ui-sref="view2">view2</a></li>
</ul>
<div>Angular seed app: v<span app-version></span></div>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="app.js"></script>
<script src="view1/view1.js"></script>
<script src="view2/view2.js"></script>
<script src="components/version/version.js"></script>
<script src="components/version/version-directive.js"></script>
<script src="components/version/interpolate-filter.js"></script>
</body>
</html>
答案 0 :(得分:0)
尝试在app.js上注入myApp.version
。
var myApp=angular.module('myApp', [
'ui.router',
'myApp.view1',
'myApp.view2',
'myApp.version'
]);
myApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/view1');
}]);