Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将angularjs 1.4迁移到angularjs 1.5会出错_Javascript_Angularjs - Fatal编程技术网

Javascript 将angularjs 1.4迁移到angularjs 1.5会出错

Javascript 将angularjs 1.4迁移到angularjs 1.5会出错,javascript,angularjs,Javascript,Angularjs,我开始用这个简单的代码学习angularjs <!DOCTYPE html> <html> <head> <title>Title</title> <script src='https://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools- yui-compressed.js' type='text/javascript'></script> <s

我开始用这个简单的代码学习angularjs

<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<script src='https://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools-  yui-compressed.js' type='text/javascript'></script>
<script src='assets/js/menuMatic.js' type='text/javascript'></script>
<link rel="stylesheet" href="assets/css/style.css"> 
</head>
<body ng-app="myApp">
<div ng-include="'header.html'"></div>
<div ng-view></div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.8/angular-route.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controller/posts.js"></script>
<script src="js/service/post.js"></script>
</body>
</html>
当我使用angularjs 1.2.27时,它工作正常,但当我使用angularjs 1.5.8时,它显示了这个错误

angular.js:38Uncaught Error: [$injector:modulerr]  angular.js:38
我相信某些全局控制器功能被禁用或是其他什么,但我不知道如何修复
编辑


我使用angularjs 1.4.8版,它正在运行。。但是,当我使用1.5.8时,它不再工作了

你要么在第一行末尾加上分号

或者删除第二行代码中的“应用程序”

var app = angular.module('myApp',['ngRoute']);
    app.config(function($routeProvider){
        $routeProvider
            .when('/',  {templateUrl:'partials/home.html',controller:'PostsCtrl'})          
            .otherwise({redirectTo:'/'});
});

var app = angular.module('myApp',['ngRoute'])
    .config(function($routeProvider){
        $routeProvider
            .when('/',  {templateUrl:'partials/home.html',controller:'PostsCtrl'})          
            .otherwise({redirectTo:'/'});
});

我认为您需要单独向配置中添加$rootProvider,如下所示:

var app = angular.module('myApp',['ngRoute']);
app.config(['$routeProvider', function($routeProvider){
    $routeProvider
        .when('/',  {templateUrl:'partials/home.html',controller:'PostsCtrl'})          
        .otherwise({redirectTo:'/'});
}]);

在声明angular.min.jsp之前,您是否尝试过放置jquery库?这个答案完全不正确。JavaScript的ASI负责将第一行和第二行作为独立语句分开,这是什么错误?您如何定义您的
PostsCtrl
控制器?您的任何其他JS文件(
posts.JS
post.JS
)是否意外地使用
angular.module('myApp',)
?@MateuszSip重新定义了您的
myApp
)模块,而不是使用
angular.min.JS
。看起来您可能已经这样做了,因为您发布的错误引用了
angular.js
,即使您发布的代码没有引用。除此之外,很难创建一个工作示例来测试您的问题,因为您还没有显示所有文件(posts.js、post.js等)的内容。事实上,完全按照编写的代码使用代码,并为缺少的
posts.js
代码提供一个虚拟控制器,这样做不会出错(除了与问题无关的缺失资产)…您的问题似乎比以往任何时候都更可能存在于您在此未提供的一个代码文件中。只有在OP缩小其JS代码时才会出现这种情况
var app = angular.module('myApp',['ngRoute']);
app.config(['$routeProvider', function($routeProvider){
    $routeProvider
        .when('/',  {templateUrl:'partials/home.html',controller:'PostsCtrl'})          
        .otherwise({redirectTo:'/'});
}]);