angularjs - 在 AngularJS 应用程序中预填充远程数据的最佳方法

标签 angularjs

在我的 AngularJS 应用程序中,我需要从远程 REST 端点检索多个静态数据集合。这些数据集合将作为静态查找列表在整个应用程序生命周期中使用。我希望所有这些列表都在初始应用程序启动时填充,并保留并可供多个 Controller 使用。我不想动态加载任何额外的数据,因为这个特定应用程序的假设之一是,一旦加载,任何进一步的网络连接可能会在一段时间内不可用。 初次点击是可以的,因为无论如何用户都会全神贯注于阅读第一页的静态内容。 我正在考虑使这种大量加载成为初始应用程序运行 block 的一部分,并将所有这些静态数据粘贴到附加到 $rootScope 的各种集合中(这将使该数据在其他地方可用) 满足此要求的最佳方法是什么?

最佳答案

有趣的是,我刚刚写了一个blog post about extending the script directive来处理这种情况

这个概念很简单。当页面从服务器加载时,您可以将 JSON 数据嵌入到页面中,如下所示:

<script type="text/context-info">
{
   "name":"foo-view",
   "id":34,
   "tags":[
      "angular",
      "javascript",
      "directives"
   ]
}
</script>

然后,您扩展脚本指令,以便它为您解析数据,并通过服务将其提供给应用程序的其他部分。

if(attr.type === 'text/context-info'){
  var contextInfo = JSON.parse(element[0].text);

  //Custom service that can be injected into
  // the decorator
  contextInfoService.addContextInfo(contextInfo);
}

您可以在这里看到它的现场演示:http://embed.plnkr.co/mSFgaO/preview

关于angularjs - 在 AngularJS 应用程序中预填充远程数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22825225/

相关文章:

angularjs - 无法从 ionic 中的 Controller 将 URL 传递给 View

javascript - .then() 中的 Expect() - Jasmine 单元测试,AngularJS

angularjs - Express.js 强制 HTTPS/SSL 重定向错误 : Too many redirects

javascript - angular.js 多个js文件

angularjs - 默认为 Angular UI-Router 嵌套 View

angularjs - 我正在尝试将我的 Azure 后端与我的 ionic Angular 前端连接

javascript - 如何用换行符替换分号?

javascript - ng-disabled 不会禁用 Angular JS 中的按钮

javascript - 如何使用angularjs减少冗余代码?

angularjs - MEAN 堆栈处于事件状态 :$uiRoute not working