2

只是想知道你的想法,这将是我如何将外部 json 数据文件存储到服务中的方法,以便我可以将其注入到不同的控制器中

谢谢

4

3 回答 3

1

尝试使用ngTranslation模块。使用此服务,您可以将静态内容(一些 json 文件等)存储在代码之外,而不会弄脏您的控制器/服务...

示例:
JS:

angular.module('app', ['ng-translation'])
  .config(['ngTranslationProvider', function(ngTranslationProvider) {
    ngStaticProvider
      .setDirectory('/assets/static')
      .setFilesSuffix('.json')
      .langsFiles({
        demo1: 'demo1',
        demo2: 'demo2'
      })
  }]);

//inject to controller
function PanelController($scope, translateFilter) {
  $scope.panelContent = translateFilter('key','fileName')
}

HTML:

<!-- use as a filter {{ key | translate: fileName  }}-->
<p>{{ key | translate: fileName }}</p>

<!-- use ng-translate directive, similar to ng-bind-->
<p ng-translate="file(key)"></p>
于 2014-09-23T04:52:42.980 回答
0

好吧,这完全取决于您的应用程序的体系结构,但我想您可以创建一个工厂或服务来存储数据,然后在需要的地方简单地注入该工厂。

如果数据需要持久化,我会使用 localStorage 之类的东西。如果数据量非常小并且您的应用程序不支持 HTML5,我会使用 cookie。

你越详细,你得到的答案就越准确。

于 2013-06-19T02:47:56.113 回答
0

看看 angularjs 教程。它专门解决了这个问题。首先通过http://docs.angularjs.org/tutorial/step_05在控制器中包含 json。然后按照http://docs.angularjs.org/tutorial/step_11将其移至服务。

$http.get() 也可用于从 REST url 检索数据。

于 2013-06-19T06:29:30.820 回答