javascript - 使用 Angular、未定义服务读取 JSON

标签 javascript angularjs

我正在尝试使用 Angular 工厂和服务从文件中读取 JSON 数据。但 Angular 看不到我定义的服务。这是我的工厂:

//jsonService.js
angular.module('jsonService', ['ngResource'])
.factory('JsonService', function($resource) {
    alert($resource)
    return $resource('example.json',{}, {
        getData: {method:'GET', isArray: false}
    });
});

还有我的 Controller :

//app.js
'use strict';

angular.module('myApp', [
'ngRoute',
'myApp.view1',
'myApp.view2',
'myApp.version',
'jsonService'
]).config(['$routeProvider', function($routeProvider) {
   $routeProvider.otherwise({redirectTo: '/view1'});
}]).
controller('mainController', ['JsonService', function($scope, JsonService){
    JsonService.getData(function(data) {
      console.log("Test");
      $scope.length = data.length;
  })}]);

我得到:

"Error: JsonService is undefined"

最佳答案

您将注入(inject) 'JsonService' 作为函数的第一个参数,但您正在使用 JsonService 作为函数的第二个参数。

应为 ['JsonService', '$scope', function($scope, JsonService){ 或如果不需要 $scope['JsonService ', 函数(JsonService){

关于javascript - 使用 Angular、未定义服务读取 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776939/

相关文章:

Javascript:变量名中的冒号运算符是什么?

javascript - 为什么我不能在方法中引用从 JavaScript 原型(prototype)继承的方法

javascript - 谷歌地图 : how to get the city + zipcode + state + country in a multiselect input

javascript - 在 AngularJS 中有条件地创建一个 Promise

email - 如何在 AngularJS Controller 中调用 mailto

javascript - 为什么要使用服务器端 JavaScript?

javascript - PHP 简单 HTML DOM 解析器 : Saving Dom tree

javascript - 在 Angular JS 中使用 HTML 版本控制渲染动态 UI

javascript - AngularJS D3。如何将任何内容附加到现有图表(在其上绘制)?

javascript - 处理延迟异步回调的典型方法