AngularJS Big Issue 1.1.5升级到1.3.8(必须简单):/

时间:2014-12-28 09:41:21

标签: angularjs upgrade

我完全不知道这里可能出现什么问题。

使用版本1.1.5一切都完美无瑕。

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>

将整个应用程序升级到1.3.8螺丝。

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>

获取此错误参数'ContactControllerHeading'不是函数,未定义

html的

<html ng-app="myApp" >
<body>
<div ng-controller="ContactControllerHeading">
...
lots of cool stuff here :)
</div>
</body>
</html>

的.js

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

  function ContactControllerHeading($scope,$http) {

     $scope.Home = function() {
             ...
             lots of cool stuff :)
      }

}

2 个答案:

答案 0 :(得分:5)

Angular 1.3发生了重大变化:您不再能使用全局功能创建控制器(与任何模块无关的功能)

只需稍作修改,而不是在全局范围内定义控制器,只需在您的应用中定义它:

myApp.controller("ContactControllerHeading", function ($scope, $http) {
   //controller code
});

答案 1 :(得分:1)

Angular 1.3不再支持默认情况下作为控制器的功能。请参阅$controllerProvider.allowGlobals()ref)。您必须从模块config()函数调用此函数才能启用此功能。或者更好,将您的代码转换为使用

的当前做法
angular.module(...)
    .controller('ContactControllerHeading', ['$scope','$http',function($scope,$http){...}]);