Angularjs 当所有依赖项都被注入时,为什么我总是得到$[injector:modulerr]未捕获错误?
下面是我的index.html页面,它有两个按钮,链接到我打算使用角度路由显示的两个不同视图 下面是我的 HTMLAngularjs 当所有依赖项都被注入时,为什么我总是得到$[injector:modulerr]未捕获错误?,angularjs,Angularjs,下面是我的index.html页面,它有两个按钮,链接到我打算使用角度路由显示的两个不同视图 下面是我的 HTML <!DOCTYPE html> <html> <head> <title>PR_APP</title> <link rel="stylesheet" href="css/style.css"> <script src="https://cdnjs.cloudflare.com/aj
<!DOCTYPE html>
<html>
<head>
<title>PR_APP</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular-route.js"></script>
<script src="js/main.js"></script>
<script src="js/services.js"></script>
</head>
<body ng-app="new_pr_app">
<h2>Please select an option</h2><br>
<div ng-controller="view_controller">
<button id="view_details" ng-click="view()">View Details</button>
</div>
<div ng-controller="update_controller">
<button id="update_details" ng-click="update()">Update Details</button>
</div>
<div ng-view>
</div>
</body>
我有另一个名为services.js的文件,它有一个服务工厂,可以使用http get从json文件获取详细信息
我唯一的问题似乎是上面的main.js,它在每次加载index.html
时都会给出下面的错误
angular.js:88未捕获错误:[$injector:modulerr]
你的配置是错误的。您传入一个字符串作为第一个参数(和第二个参数),而
.config(..)
函数期望传入一个函数(或数组)
在代码中,您只是忘记将参数包装在数组中。下面是它的外观:
app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider){
$routeProvider.when("/update",
{
templateUrl:"update.html",
controller: "update_controller"
})
.when("/view",
{
templateUrl: "view.html",
controller: "view_controller"
});
}]);
注意
[
和]
包装内容您可以使用以下代码进行检查
请选择一个选项
查看详细信息
更新详细信息
var app=angular.module('new_pr_app',['ngRoute']);
app.config(['$routeProvider','$locationProvider',函数($routeProvider,$locationProvider){
$routeProvider.when(“/update”,
{
模板:“更新模板”
//控制器:“更新控制器”
})
.when(“/view”,
{
模板:“视图模板”
//控制器:“视图\控制器”
});
}]);
app.controller(“视图\控制器”,函数($scope,$location){
$scope.view=函数(){
$location.path(“/view”);
}
});
应用控制器(“更新控制器”,功能($scope,$location){
$scope.update_details=函数(){
$location.path(“/update”);
}
});
什么是http\U工厂?在将angular.min.js替换为angular之后,发布准确完整的错误。js@JBNizet是min.js的错误,因为angular.js给出的错误太长,未捕获错误:[$injector:modulerr]…udflare.com%2Fajax%2Flibs%2fagnal.js%2F1.6.5%2fagnal.min.js%3A42%3A138)在angular.js:88在angular.js:4957在p(angular.js:410)在g(angular.js:4917)在gb(angular.js:4839)在Uc(angular.js:1970)在xe(angular.js:1855)在angular.js:33826在HTMLDocument.b(angular.js:3468)@Vivz http_factory是我的服务_factory,它发出http get请求并返回json文件中的详细信息。在您将angular.min.js替换为angular.js后,在您的问题中发布准确完整的错误。
app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider){
$routeProvider.when("/update",
{
templateUrl:"update.html",
controller: "update_controller"
})
.when("/view",
{
templateUrl: "view.html",
controller: "view_controller"
});
}]);