gpt4 book ai didi

javascript - angular js自定义服务/工厂无法注入(inject) Controller /配置

转载 作者:行者123 更新时间:2023-11-30 12:03:53 25 4
gpt4 key购买 nike

我正在尝试将自定义工厂注入(inject) Controller ,但我收到了“Unknown provider: ngResourceProvider <- ngResource <- UserService” 错误消息。

当我尝试将自定义过滤器注入(inject)配置时,我收到以下错误消息`由于以下原因无法实例化模块 mainApp:错误:[$injector:unpr] http://errors.angularjs.org/1.5.0-rc.2/ $喷油器/unpr?p0=... 出错时( native ) 在http://localhost:8080/angulartest/scripts/js/angular.min.js:6:421http://localhost:8080/angulartest/scripts/js/angular.min.js:43:7 在 d ( http://localhost:8080/angulartest/scripts/js/angular.min.js:40:270 ) 在 e ( http://localhost:8080/angulartest/scripts/js/angular.min.js:41:1 ) 在 Object.invoke ( http://localhost:8080/angulartest/scripts/js/angular.min.js:41:86 ) 在 d ( http://localhost:8080/angulartest/scripts/js/angular.min.js:39:234 ) 在http://localhost:8080/angulartest/scripts/js/angular.min.js:39:358 在 n ( http://localhost:8080/angulartest/scripts/js/angular.min.js:7:366 ) 在 g ( http://localhost:8080/angulartest/scripts/js/angular.min.js:39:135

我浏览了各种博客/视频,但我无法解决问题,任何人都可以帮我解决这个问题。

HTML

    <html >
<head>
<link rel="stylesheet"
href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
<link rel="stylesheet"
href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" />
<link rel="stylesheet" href="./css/custom.css"/>
<script src="./scripts/js/angular.min.js"></script>
<script src="./scripts/js/angular-local-storage.min.js"></script>
<script src="./scripts/js/angular-route.min.js"></script>
<script src="./scripts/js/jquery.scrollbar.js"></script>
<script src="./scripts/js/script.js"></script>
</head>
<body >
<header>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">Angular Routing Example</a>
</div>

<ul class="nav navbar-nav navbar-right">
<li><a href="#"><i class="fa fa-home"></i> Home</a></li>
<li><a href="#about"><i class="fa fa-shield"></i> About</a></li>
<li><a href="#contact"><i class="fa fa-comment"></i>
Contact</a></li>
</ul>
</div>
</nav>
</header>

<!-- MAIN CONTENT AND INJECTED VIEWS -->
<div id="main" ng-app="myApp" ng-controller="mainController">
<div ng-view></div>

</div>
</body>
</html>

将服务注入(inject) Controller 的java脚本代码

var myApp = angular
.module('myApp', [ 'ngRoute'])

myApp.factory('UserService',['ngResource', function($resource) {

return $resource('/login', {}, {
login : {
method : 'POST',
params : {
'action' : 'authenticate'
},
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
}
},
});
}]);


myApp.config([ '$routeProvider', '$locationProvider', '$httpProvider','$provide',
function($routeProvider, $locationProvider, $httpProvider,$provide) {
$routeProvider

// route for the home page
.when('/', {
templateUrl : 'pages/login.html',
controller : 'mainController'
})

// route for the about page
.when('/dashbaord', {
templateUrl : 'pages/dashboard.html',
controller : 'dashbaordController'
})

$locationProvider.hashPrefix('!');



} ]);

myApp.controller('mainController',['UserService',function($scope,UserService) {
function login() {
alert("hi");
}
$scope.login = login;
}]);

myApp.controller('dashbaordController', function($scope) {
$scope.message = 'Look! I am an about page.';
});

用于在配置中注入(inject)的 javascript 代码,它是下面相同的代码,我复制了唯一更改的代码

myApp.config([ '$routeProvider', '$locationProvider', '$httpProvider','$provide','UserService',
function($routeProvider, $locationProvider, $httpProvider,$provide,UserService) {
$routeProvider

// route for the home page
.when('/', {
templateUrl : 'pages/login.html',
controller : 'mainController'
})

// route for the about page
.when('/dashbaord', {
templateUrl : 'pages/dashboard.html',
controller : 'dashbaordController'
})

$locationProvider.hashPrefix('!');



} ]);

最佳答案

如果您使用的是 ngResource,请包含“angular-resource.js”。您可以在以下链接中找到 cdn,Angular ngResource api doc

关于javascript - angular js自定义服务/工厂无法注入(inject) Controller /配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com