Angularjs翻译使用$ http调用json数据而不是使用staticfilesloader

时间:2015-12-21 21:26:16

标签: angularjs

这是我的代码。

.config(['$translateProvider', function ($translateProvider) {
    $translateProvider.useStaticFilesLoader({
        prefix: './scripts/json/',
        suffix: '.json'
    });
    $translateProvider.preferredLanguage('en');
}])

其实我想问一下我是否可以使用$ http调用restful服务然后获取json数据而不是使用staticfilesloader。有人给我一个示例代码吗? 感谢

1 个答案:

答案 0 :(得分:0)

为了从服务中获取一些 Json 数据,您绝对应该使用 $ http.GET 请求。

为了实现这一点,您必须在控制器上写一个$ http.Get请求绑定到您要在其中显示数据的特定视图。

<强> myController.js:

  //You have to pass both $http and $scope                         
  myApp.controller("myController", ["$scope","$http", function($scope, $http){
    //In case of success, data fetched will be stored in data
    $http.get('http://localhost/myDataJson.json').success(function(data){

        $scope.myData=data; //Assigning data fetched by the GET to myData
    });
  }]);

<强> myView.html:

<!--In order to show your data, you have to use this kind of syntax {{myData.fieldName}}-->
<div class="myHeader">
    <span class="headerText">{{myData.headerText}}</span>
</div>

<强> myDataJson.json:

{
    "headerText": "Hello World!"
}

<强> myRoutes.js:

//You have to bind your view to its specific controller defined before
myApp.config(function ($routeProvider) {

  $routeProvider
  .when('/myView', {
    templateUrl: 'views/myView.html',
    controller: 'myController'
  })

'
.
.

还有其他方法可以以更干净的方式提出相同的请求,但我所写的语法在我看来是最简单的。

如果您是初学者或者您有点困惑,请查看:

与AngularJS保持敏锐谈论管理AngularJS $ http请求等等。

我希望我能提供帮助。