AngularJS动态数据不起作用

Posted

技术标签:

【中文标题】AngularJS动态数据不起作用【英文标题】:AngulatJS Dynamic data not working 【发布时间】:2018-03-10 21:39:12 【问题描述】:

HTML

这是我编写的 html 文件,我用产品图片详细信息重复第 3 列

<div ng-app='myApp' ng-controller='myController'>
  <div infinite-scroll='loadMore()' infinite-scroll-distance='2'>
    <div ng-repeat="user in users">
      <div class="col-md-3">
        <div class="panel panel-default text-center">
          <img src="../backend/uploads/user.image"  >
          <p>user.name</p>
          <span><strong>&#8377;user.price</strong></span>
        </div>
      </div>
    </div>
  </div>
</div>

JS 我从 php 文件中获取数据,但它变成了无限循环

var myApp = angular.module('myApp', ['infinite-scroll']);
myApp.controller('myController', function($scope, $http) 

 //get data from php file

  $http(
    method: 'get',
    url: 'fetch_scroll.php'
    ).then(function successCallback(response) 
        $scope.users = response.data;
        console.log($scope.users);
  );
   //function to load products

  $scope.loadMore = function() 
    var length = $scope.users.length;
    var last = $scope.users[length - 1];
    for(var i = 1; i <= length; i++) 
      $scope.users.push(last + i);
    
  ;
);

【问题讨论】:

控制台错误? 没有错误,我收到了对象格式的数据。它包含名称、图像和价格 我出错了,$scope.users 在 loadMore 函数中未定义 去掉无限滚动,隔离问题。可能存在问题。 【参考方案1】:

我认为您的$scope.loadMore 函数在successCallback 函数之前被调用

您可以在从服务器获取数据后调用该函数。下面的代码 sn-p 可能会有所帮助:

var myApp = angular.module('myApp', ['infinite-scroll']);
myApp.controller('myController', function($scope, $http) 

 //get data from php file

  $http(
    method: 'get',
    url: 'fetch_scroll.php'
    ).then(function successCallback(response) 
        $scope.users = response.data;
        console.log($scope.users);

        // Added this inside the successCallback
        $scope.loadMore();
  );
   //function to load products

  $scope.loadMore = function() 
    var length = $scope.users.length;
    var last = $scope.users[length - 1];
    for(var i = 1; i <= length; i++) 
      $scope.users.push(last + i);
    
  ;
);

【讨论】:

以上是关于AngularJS动态数据不起作用的主要内容,如果未能解决你的问题,请参考以下文章

当我在 Angularjs 中绑定来自响应的数据时,引导多选不起作用

AngularJS下拉选择不起作用

在 AngularJS + Bootstrap 中添加数据切换属性时,单选按钮绑定不起作用

范围绑定在模态弹出窗口angularjs中不起作用

将 JSON 从 AngularJS 传递到 Springboot RestController 不起作用

Select2 for AngularJS 中的两种方式数据绑定不起作用