我在使用AngularJS 1.3.14时没有读取JSON文件,但在1.2.10版本中工作正常

时间:2015-07-14 13:05:22

标签: javascript json angularjs

我目前正在使用AngularJS 1.2.10并且工作正常,但我想将其更改为1.3.14以添加手风琴。但是,当我改变

<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.10/angular.min.js"></script>

到这个

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

我的数据不再出现了。这是我的代码(它只是一个简单的搜索列表,我已经在HTML部分的底部注释了1.3.14版本)。

http://jsfiddle.net/xoonpLte/

3 个答案:

答案 0 :(得分:5)

Angular不再支持控制器的全局功能。

必须将控制器声明为模块的一部分

添加:

manuRep.controller('MyAppController', MyAppController);

答案 1 :(得分:3)

你必须

  • 将名称放在ng-app
  • 将ui-bootstrap版本与angular's
  • 相匹配
  • 使用ui.bootstrap而不是ui-bootstrap

这里有效(我也改变了声明控制器语法)

http://jsfiddle.net/xoonpLte/8/

var mr = angular.module('manuRep', ['ui.bootstrap']);
mr.controller('myctl', ['$scope', '$http', function ($scope, $http) {
    $http({
        method: 'GET',
        url: 'https://dl.dropboxusercontent.com/u/59954187/jobs.json'
    }).then(function (response) {
        $scope.cats = response.data;
    });
}])

答案 2 :(得分:2)

这是我的解决方案版本。 http://jsfiddle.net/xoonpLte/10/

var manuRep = angular.module('manuRep', ['ui.bootstrap']);
manuRep.controller('MyAppController', function($scope, $http) {
    $http.get('https://dl.dropboxusercontent.com/u/59954187/jobs.json').then(function(response) {
    $scope.cats = response.data;
});

});