Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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中的错误_Javascript_Angularjs - Fatal编程技术网

Javascript 获取AngularJS中的错误

Javascript 获取AngularJS中的错误,javascript,angularjs,Javascript,Angularjs,我正在创建一个小的web应用程序,我将在其中显示十大热门电视节目的图表。然后,当我转到浏览器并检查时,我得到一个错误: 错误:[$injector:unpr]$injector/unpr?p0=showProvider%20%3C-%20show%20%3C-%20MainController show.js app.factory('Top10App', ['$http', function($http){ return $http.get('shows.json') .suc

我正在创建一个小的web应用程序,我将在其中显示十大热门电视节目的图表。然后,当我转到浏览器并检查时,我得到一个错误:

错误:[$injector:unpr]$injector/unpr?p0=showProvider%20%3C-%20show%20%3C-%20MainController

show.js

    app.factory('Top10App', ['$http', function($http){
  return $http.get('shows.json')
  .success(function(data){
    return data;
  })
  .error(function(err){
    return err;
  });
}]);

您将服务名称定义为“Top10App”,因此这是您访问它的方式,而不是通过文件名

['$scope', 'Top10App', function ($scope, Top10App) { ...

  Top10App.success(...

首先,您是否创建了模块?您应该有如下内容:

// app.js
angular.module('app', []);

// maincontroller.js
angular.module('app').controller('myController, ...', [.......]);

// factory.js
angular.module('app').factory(...)

您正试图将show作为控制器的依赖项注入,但它似乎没有在任何地方定义。这就是为什么你的错误告诉你它是一个未知的提供者

我猜您是在尝试使用
Top10App
工厂,所以您需要将其注入

app.controller('MainController', ['$scope', 'Top10App', function ($scope, Top10App) {
  Top10App.success(...)
}

另外,在我的index.html中,我应该将{index.series}}更改为{{Top10app.series}}当然。或者,如果您仍然想使用“show”作为服务的名称,请将“…factory('Top10App')”中的声明更改为“…factory('show')”。实际上,我读错了。很抱歉不,除非更改变量名,否则仍应使用索引。在这种情况下,服务名称无关紧要。好的。。但现在,在浏览器中,它显示的是第一名,而不是来自“shows.json”的数据?
// app.js
angular.module('app', []);

// maincontroller.js
angular.module('app').controller('myController, ...', [.......]);

// factory.js
angular.module('app').factory(...)
app.controller('MainController', ['$scope', 'Top10App', function ($scope, Top10App) {
  Top10App.success(...)
}