- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 AngularJS 构建一个单页博客网站,但遇到了以下错误消息:
“未捕获错误:[$injector:modulerr] 无法实例化模块 spBlogger,原因是:错误:[$injector:modulerr] 无法实例化模块 spBlogger.posts,原因是:错误:[$injector:unpr] 未知提供者:$stateProvider"
尽管 $stateProvider 服务已经注入(inject),但我不确定为什么会发生这种情况。您能帮我确定为什么会收到此错误消息吗?
postModule.js 内容:
'use strict'
angular.module('spBlogger.posts', ['spBlogger.posts.controllers', 'spBlogger.posts.directives', 'spBlogger.posts.services', 'spBlogger.posts.filters']);
angular.module('spBlogger.posts')
.config(['$stateProvider', '$locationProvider', function ($stateProvider, $locationProvider) {
$stateProvider.state('allPosts', {
url: '/posts',
templateUrl: 'modules/posts/views/posts.html',
controller: 'PostController'
});
$stateProvider.state('singlePost', {
url: '/posts/:id/:permalink',
templateUrl: 'modules/posts/views/singlePost.html',
controller: 'PostDetailsController'
});
}]);
index.html内容:
<!doctype html>
<html lang="en" ng-app="spBlogger">
<head>
<meta charset="utf-8">
<base href="/">
<title>The Single Page Blogger</title>
<link rel="stylesheet" href="lib/bootstrap/bootstrap.min.css">
<link rel="stylesheet" href="css/app.css">
<link rel="stylesheet" href="modules/posts/css/posts.css">
</head>
<body>
<div class="container">
<br/>
<div class="jumbotron text-center">
<h1>The Single Page Blogger</h1>
<p>One stop blogging solution</p>
</div>
<div ui-view> The angular ui-view should be displayed here!</div>
<div class="row footer">
<div class="col-xs-12 text-center">
<p>The Single Page Blogger
<app-version/>
</p>
</div>
</div>
</div>
</body>
<!-- build:js app/built/app.min.js -->
<script src="lib/jquery/jquery.min.js"></script>
<script src="lib/bootstrap/bootstrap.min.js"></script>
<script src="lib/angular/angular.js"></script>
<script src="lib/angular-ui-router/angular-ui-router.min.js"></script>
<script src="lib/angular/angular-resource.js"></script>
<script src="lib/angular/angular-sanitize.js"></script>
<script src="lib/angular/angular-animate.js"></script>
<script src="lib/angular/angular-cookies.js"></script>
<script src="lib/angular/angular-translate.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/directives.js"></script>
<script src="js/filters.js"></script>
<script src="js/services.js"></script>
<script src="modules/posts/postModule.js"></script>
<script src="modules/posts/js/controllers.js"></script>
<script src="modules/posts/js/filters.js"></script>
<script src="modules/posts/js/directives.js"></script>
<script src="modules/posts/js/services.js"></script>
<!-- endbuild -->
</html>
这是app.js
'use strict'
angular.module('spBlogger', ['ui.router', 'spBlogger.posts', 'spBlogger.controllers', 'spBlogger.directives', 'spBlogger.filters', 'spBlogger.services']);
angular.module('spBlogger').value('version', 'V1.0');
angular.module('spBlogger').run(['state', function (state) {
$state.go('allPosts');
}]);
Controller .js
'use strict'
angular.module('spBlogger.posts.controllers', [])
.controller('PostController', ['$scope', 'postService', function ($scope, postService) {
$scope.getAllPosts = function () {
return postService.getAll();
};
$scope.posts = $scope.getAllPosts();
}])
.controller('PostDetailsConstroller', ['$stateParams', '$state', '$scope', 'postService', function ($stateParams, $state, $scope, postService) {
$scope.getPostById = function (id) {
return postService.getPostById(id);
};
$scope.closePost = function () {
$state.go('allPosts');
};
$scope.singlePost = $scope.getPostById($stateParams.id);
}])
;
最佳答案
您错过了在应用程序模块中添加对 ui.router
的依赖项:
angular.module('spBlogger.posts', ['ui.router', 'spBlogger.posts.controllers', 'spBlogger.posts.directives', 'spBlogger.posts.services', 'spBlogger.posts.filters']);
Angular UI Router 不是 Angular 官方发行版的一部分,但它是由第三方开发团队开发的可选模块。
关于javascript - 错误: [$injector:unpr] Unknown provider: $stateProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37764301/
我正在尝试将 $stateProvider 用于我的 url 路由。我想如果我使用$stateProvider,那么我就不需要使用$routeProvider了。这个对吗?我能够让我的 url 路由与
好吧,这个问题有点长,但我觉得我已经尝试了一切,所以如果可以的话,我希望你能帮助我:) 所以基本上我的系统有两种用户类型:Admin 和 Client 这些类型绑定(bind)到模板 tpl/app.
我是 Angular JS 的初学者,最近尝试了 $stateProvider,引用了一个教程-eggHead。从下面找到代码: 我没有得到正确的回应。 index.html
我真的搞不懂为什么这个标记不能识别我的 $stateProvider? Uncaught Error: [$injector:modulerr] Failed to instantiate modul
我一直在寻找这个难题的好答案,无论是routeProvider还是不行。 似乎$ routeProvider即将终止,并替换为$ stateProvider,不幸的是,我不知道此语句的准确性,而且st
我只是 angularjs 的初学者。我在下面的测试项目中没有看到任何错误和结果。索引.html User Auth
使用 angular-ui-router,如何使用 otherwise method上$stateProvider或者我该如何使用它? 最佳答案 您不能仅使用$stateProvider。 您需要注入
考虑这段代码: bank.config(function($stateProvider) { $stateProvider .state('main.bank', { url:
在我的主 index.html 文件中,我有以下简单标记... 在我的 app.js 中,我使用 $stateProvider 创建路由,以便我可以显示某些页面... app.confi
我刚开始更改其他人的一些代码,并尝试添加一个带有 Controller 的简单 html。我的问题是,我的 html 不会加载,如果我导航到它.. 系统只会显示:正在加载... 这是 html: t
我刚刚开始迁移到 AngularJS,并且 angular-ui/ui-router 中的 $stateProvider 已经出现问题框架。这是我到目前为止所拥有的: angular .mod
我有一个看起来像这样的 View : Data Package Management
我只是有 Angular 路线的问题。我有一个具有 4 个不同 View 的单页应用程序。我正在使用 $stateProvider 的 ui.router。主视图在路线上:https://testsi
我的页面上有如下按钮: 单击后我想使用 ui-sref 更改状态。我目前处于/status 状态,并且我想进入/status/{maId} 状态。 这是我的routes.js (functi
.controller('myCtrl', function($scope,$localstorage,$stateProvider, $urlRouterProvider) { $scope.g
我在我的应用程序中使用 angularJs 版本 1.4.5 和 angular-ui-router 版本 0.2.18。我注意到我的解析函数针对某个状态执行了两次。 我也尝试过使用更新的 angul
我目前正在阅读一个基于 AngularJS 1.4.8 的应用程序,该应用程序使用 AngularUI Router 0.2.15。 我注意到此应用程序有时使用依赖项 $state,有时使用依赖项 $
我得到了一个使用标准 $routeProvider 进行路由的当前 angularjs 应用程序。我打算将应用程序的一部分 $stateProvider 用作向导。 我这样声明父状态“Modal”和子
WikiApp.config(function config($stateProvider, $urlRouterProvider) { $stateProvider .state('
所以我在这个 Angular SPA 上工作了一段时间,遇到了一个有趣的现象,我希望有人能帮我弄清楚。 Safari 会给我 Did not parse stylesheet at 'http://l
我是一名优秀的程序员,十分优秀!