哪里是使用$http.get的推荐位置

  • 本文关键字:get 位置 http angularjs
  • 更新时间 :
  • 英文 :


我正在使用angularjs,并有以下HTML:-

   <div ng-app="App">
      <div ng-controller="AppCtrl">
         <products></products>
      </div>
   </div>

和我的js看起来像这样:-

var app = angular.module('App', []);
app.controller("AppCtrl", function($scope, $http) {
   $http.get('/api/products')
      .then(function(res) {
         $scope.products = res.data;
   });
});
app.directive("products", function () {
   return {
      restrict: "E",
      template: "<h1>Products</h1><ul><li ng-repeat='product in products'>{{product.Name}} - <em>{{product.Category}}</em></li></ul>",
   };
});

这工作得很好,但我不确定指令如何知道控制器在模板呈现结果之前加载了数据。所以我的问题是:-

在这种情况下使用$http.get的推荐方法是什么(最好解释一下),如果不是,那么推荐的方法是什么?

我认为这是$http.get的一个很好的使用。在一天结束的时候,它只是一个做ajax请求的工具。

你的问题似乎源于你担心你的指令会在不同的情况下神秘地中断,这是可以理解的。关键是要理解数据绑定是Angular的秘密武器。

一种思考方式是,Angular编译所有的东西,然后把它们扔进一个事件/摘要循环。因此,它能够检测依赖项,监视变量的更改,并在这些变量更改时调用依赖方法(例如products指令)。

Angular指南为进一步理解提供了很好的概念图,它在这里:http://docs.angularjs.org/guide/concepts

最新更新