Angularjs指令从url获取数据

时间:2015-07-22 05:04:28

标签: javascript angularjs

我在angularjs中定义一个指令,该指令具有从数据库中获取数据的url。我显示部分代码。 我的指示是:<​​/ p>

app.directive('getData', function() {

return {
 restrict: 'E',
  scope: {
    url: '@',
    suggestion: '=data'
   },
  controller: ['$scope','$http', function($scope,$http){
    $http.get($scope.url)
      .success(function (data) {
        console.log(data);// display data 
        $scope.Items = data;
      });
   })
  template:
           <li\
          suggestion\
              ng-repeat="suggestion in suggestions track by $index"\
          </li>\
}

现在我在html

中创建了这样的指令
<get-data url="/public/getEmployee" data="Items"></get-data>

但不显示数据,而指令控制器中的相同代码在angularjs控制器中正常工作。

1 个答案:

答案 0 :(得分:1)

您正在调用指令中的http请求并获取指令内的数据,因此您无需在范围内传递suggestion变量。

在模板Items中直接使用item in Items track by $index数组。

scope属性中传递的隔离范围变量用于从外部依赖项中获取数据。

您的指令用法应为

<get-data url="/public/getEmployee"></get-data>