Function 无法在AngularJS中调用某个函数两次

Function 无法在AngularJS中调用某个函数两次,function,http,angularjs,xmlhttprequest,httprequest,Function,Http,Angularjs,Xmlhttprequest,Httprequest,我有一点角度代码,我似乎无法调试。加载页面在导航下拉栏中完美呈现我的所有组。当我点击其中一个组时,messagesIndex函数被调用,来自该组的所有消息都将正常显示,此时一切正常。问题是,当我点击另一个组,甚至是同一个组时,messagesIndex函数不会再次加载 我花了很多时间试图调试这个问题,但没有任何效果,但我已经缩小了问题发生的确切范围,那里似乎没有任何问题,我可以找到 我将messagesIndex函数的内容替换为$scope.groupID,并将结果与随机数一起输出。groupI

我有一点角度代码,我似乎无法调试。加载页面在导航下拉栏中完美呈现我的所有组。当我点击其中一个组时,messagesIndex函数被调用,来自该组的所有消息都将正常显示,此时一切正常。问题是,当我点击另一个组,甚至是同一个组时,messagesIndex函数不会再次加载

我花了很多时间试图调试这个问题,但没有任何效果,但我已经缩小了问题发生的确切范围,那里似乎没有任何问题,我可以找到

我将messagesIndex函数的内容替换为$scope.groupID,并将结果与随机数一起输出。groupID与随机数一起显示,每次我单击不同的组时,都会出现不同的id和随机数,这意味着JADE/HTML功能正常,函数头是金色的

然后,我使用原始的messagesIndex函数,在HTTP请求前后添加$scope.random1和scope.random2,并将随机数分配给函数的开头和结尾。当我第一次调用该函数时,生成和输出了两个随机数,尽管http请求是异步的,但所有值都正常返回,这暗示函数已完全调用,除非http请求在成功响应后出现问题,否则是否会继续?然后,当我再次点击另一组呼叫它时。两个随机数都没有改变,这表明函数要么根本没有调用,要么在执行其中的第一行代码之前就停止了

坦率地说,我被难住了。代码看起来基本上与许多正在工作的HTTP请求相同,但由于某种原因,我不能调用它两次

以下是AngularJS代码:

angular.module('angular-client').controller('GroupMeCtrl',
['$scope', '$http', '$templateCache', 'Auth', function($scope, $http, $templateCache) {

  $scope.groupsIndex = function(){
      $http({
        method: 'GET', 
        url: 'https://api.groupme.com/v3/groups?token=' + token,
        cache: $templateCache
      }).
          success(function(data, status) {
              $scope.groupsIndex = data.response;
              $scope.stat = status;       
          }).
          error(function(data, status, headers, config) {
              $scope.groupsIndex = data.response;
              $scope.stat = status || "Request failed"; 
          });
  };

  $scope.messagesIndex = function($groupID){
      $http({
        method: 'GET', 
        url: 'https://api.groupme.com/v3/groups/' + $groupID + '/messages?token=' + token,
        cache: $templateCache
      }).
          success(function(data, status) {
              $scope.messagesIndex = data;
              $scope.stat = status;       
          }).
          error(function(data, status) {
              $scope.messagesIndex = data.response;
              $scope.stat = status || "Request failed";
          });
  };

}]);
下面是我的玉:

li.dropdown
    a.dropdown-toggle(href='#', data-toggle='dropdown')
        | Groups
        b.caret
    ul.dropdown-menu
        li(ng-repeat="group in groupsIndex")
            a(ng-click="messagesIndex(group.id)") {{group.name}}



.message-box(ng-repeat="message in messagesIndex.response.messages")
    .avatar-container
        img(src="{{message.avatar_url}}").avatar
    .text
        .user-name
            {{message.name}}
        span
            {{message.text}}

您正在使用返回的数据覆盖函数:

$scope.messagesIndex = function($groupID){
...
$scope.messagesIndex = data;
...
$scope.messagesIndex = data.response;
$scope.messagesIndex
不能等于函数和接收的数据