2017-09-08 50 views
1

我正在尝试一个简单的角度逻辑,它不适合我。我将不胜感激任何帮助。如何使用功能导致相同的角度控制器

我的控制器有这样的事情:

$scope.UpcomingEvents = {} 

    $scope.someID = 3; 

    $http.get(BaseUrl().url + 'jury/UpcomingEvents?someID=' + someID) 

    .success(function (response) { 

     console.log(response); 

     $scope.UpcomingEvents = response; 

    }) 

该控制器给出我的html正确的结果,当我这样称呼它在我的HTML文件:

<tbody> 
      <tr ng-repeat="data in UpcomingEvents"> 
      <td>{{data.EventID}}</td> 
      <td>{{data.Title}}</td> 
      </tr> 
    </tbody> 

但是我想修改UpcomingEvents在角度控制器中的表格,然后在html上显示一个新表格。我没有这样做的运气。 在我的控制器文件中,每当我保存一个Upcoming Events的值时,它都不会保存。

我做它像这样在我的控制器文件,仅低于我叫那个地方HTTP GET功能,就像这样:

  $scope.UpcomingEvents = {} 
     $scope.someID = 3; 
     $http.get(BaseUrl().url + 'jury/UpcomingEvents?someID=' + 
     someID) 
      .success(function (response) { 
      console.log(response); 
      $scope.UpcomingEvents = response; 
     }) 

     $scope.hello=0; 

     //the line that just does not work 
     $scope.hello= UpcomingEvents[0].EventID; 

最后一行是不节能即将发生的事件是第一个值。 我做错了什么?

我把这个在我的HTML作为

   {{hello}} 

及其给我任何结果。

但是如果我输出我的HTML这样的价值,它提供了正确的输出:

   {{ UpcomingEvents[0].EventID }} 

它正确地执行,并给我造成的。但每当我保存到另一个变量,它只是不工作。我错过了在角度控制器中保存值的方式。

请帮忙!

回答

1

你需要把

$scope.hello= UpcomingEvents[0].EventID; 

success调用内部,就像这样:

$http.get(BaseUrl().url + 'jury/UpcomingEvents?someID=' + someID) 
    .success(function (response) { 
    $scope.UpcomingEvents = response; 
    $scope.hello= $scope.UpcomingEvents[0].EventID; 
}); 

$http.get是一个异步操作,更具体地说,它不返回值本身,而是$q承诺。 success功能是解决承诺时的回调函数。在回拨之外指定UpcomingEvents[0].EventID$scope.hello导致$scope.hello被指定为undefined。简单地说,这个任务在回调发生之前执行,当UpcomingEvents仍然是空的。

而且,你的任务应该是这样的

$ scope.hello = $范围 .UpcomingEvents [0] .EventID;

如您在$范围内声明UpcomingEvents。它不在其外面。

+0

我有这样一个问题:如果我想从成功函数外的成功函数使用$ scope.hello,我该如何使用它?我想要使​​用这个$范围。你好在另一个函数的成功函数之外。更具体地说,我想在我的控制器的另一个地方使用这个$ scope.hello值。有没有办法做到这一点?谢谢 – Pares

+0

在这种情况下,需要确保异步操作已完成,并在'$ scope.hello'中存储了适当的值。您可以在回调函数之前初始化'$ scope.hello'并设置一些默认值,以便您在别处访问时不会收到“undefined”,但完整的解决方案取决于您的流程。 – pkowalcze

相关问题