当前位置: 首页 > 知识库问答 >
问题:

如何使用angularJS restful服务从外部文件中使用json数据

苏涛
2023-03-14
//Service.js File
angular.module('calenderServices', ['ngResource']).
factory('Events', function($resource){
return $resource('/EventCalender/:File.json', {}, {
query: {method:'GET', params:{File:'events'}, isArray:true}
});
});


        //This is my app Module
angular.module('calender', ['eventFilters','highlight','event','calenderServices']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
  when('', {templateUrl: 'template.html',   controller: MonthCtrl}).
  otherwise({redirectTo: '/invalid'});
}]);


     //This is my filter.js
angular.module('eventFilters', ['calenderServices']).filter('compare', function(Events) {
var events=Events.query();
alert(events[0].name); //it is displaying the name "Milestone1" });


     //This is my controller.
function MonthCtrl($scope, Events){
var events=Events.query();
    alert(events[0].name); //it is displaying undefined
    }

     //whenever i try to use the variable 'events' in controller, it is displaying undefined or null.  But in filter it is working fine. 

共有1个答案

宇文兴言
2023-03-14

由于ngResource会发出异步http请求,因此以下操作无法工作。

var events=Events.query();
alert(events[0].name); // <--- here events is an empty array

通常,您只需执行以下操作,即可在视图中显示您的数据

$scope.events = Events.query()

这看起来像是一个同步操作,其实不然。这是Angular的禅在起作用。你可以从文件中了解细节。

Events.query(function(events){
    // here you have access to the first event's name
    console.log(events[0].name);
});
 类似资料:
  • 问题内容: 我有以下两个javascript函数: 1 2 我想将它们放在外部“ .js”文件中 1 2 调用这些函数的正确语法是什么? 问题答案: 像这样的代码 希望对您有帮助。…谢谢

  • 问题内容: 我一直在尝试仅从JSON文件中提取某些数据。我设法将JSON解码并将所需的数据放入python dict中。当我打印出字典时,它会显示所有所需的数据,但是当我尝试将字典写入新文件时,只会写入最后一个对象。我不明白的一件事也是为什么当我打印字典时会得到多个字典对象而不是我期望的1。 我的代码: 我的json.json文件: 打印my_dict输出: 在文件test.json中输出: 我也

  • 问题内容: 我如何使用javascript和jquery获取json文件的数组json 我正在尝试下一个代码,它不起作用: 这是一个名为的json文件:questions.json 我想要一个具有以下格式的数组{Biology:{Category:{cell:{question1 ....}}}} 问题答案: 是一个异步函数,因此返回该函数内部的任何内容均无济于事,因为它不在范围内或尚未收到。您可

  • 问题内容: 我需要将文件从服务器下载到桌面。(UBUNTU 10.04)我没有Web访问服务器,只是ssh。 如果有帮助,我的操作系统是Mac OS X和iTerm 2作为终端。 问题答案: 在您的终端中,键入: 相应地替换用户名,主机,远程文件名和本地目录。 如果要访问EC2(或其他需要使用私钥进行身份验证的服务),请使用以下选项:

  • 我用C创建了一个简单的饼图hart.js.我想把它链接到我电脑上的一个JSON文件,它在同一个本地文件夹中。然后,我希望JSON文件中的数据显示在我的饼图上,而不是直接从脚本中获取。 我该怎么做呢?这是我的密码。 这是我的JSON文件,保存在“chart.JSON”下-我不确定这是否是正确的格式,因为我是一个真正的新手。 我理解解析JSON文件的必要性,但我不知道该怎么做——提前非常感谢。

  • 需要更新时钟小部件的TextView每秒或每分钟变化。 我正在从AppWidgetProvider的onReceive调用服务: 我应该做什么来检查更新的时间,如果有,然后更新‘时间’文本视图… 任何一种都是非常非常非常感谢的