2014-10-03 3 views
0

Я создал на своем веб-сайте небольшой модуль Angular, который (на поге нагрузки) вызывает список клубов из базы данных и должен показывать их через вид. У меня проблема, тогда как контроллер не обновляет себя. Переменная контроллера показывает правильные данные, но не обновляет представление. Вот мой код:Угловой контроллер не обновляет мой вид

Просмотр файла:

<div ng-app="clubFilter" ng-cloak class="col-lg-12" ng-controller="clubController"> 
{{clubObj.clubs}} 
<div class="col-lg-3" id="clubs-filter-left"> 
    <form ng-submit="filterClubs()"> 
     <input type="text" name="location" ng-model="searchTerm" placeholder="Search..." /> 
     <input type="submit" name="submit" value="Submit" /> 
    </form> 
    <div id="searchInfo" ng-show="(searchTerm != '') || (activityText != '')"> 
     <span ng-show="searchTerm != ''"><strong>Location:</strong> {{searchTerm}}</span> 
     <span ng-show="activityText != ''"><strong>Activity:</strong> {{activityText}}</span> 
     <span class=''>(Distance indicated in miles)</span> 
    </div> 
    <div id="activityInfo" ng-show="activityText != ''"> 
     <p>Your nearest Leisure Centres with {{activityText}} facilties</p> 
    </div> 
</div> 
<div class="col-lg-9" >  
    <ul class="leisure-centres">    
     <li ng-repeat="club in clubs" ng-show="club.show">    
      <div class="centre"> 
       <a class="link" ng-href="http://isca01.bigwavemedia.info{{club.link}}">More info</a> 
       <a class="link" ng-show="club.distance > 0" ng-href="{club.link}" ng-cloak>{{club.distance}}m</a>   
       <div class="image" ng-show="club.image > 0"> 
        <img src="{{image}}" alt="{{club.title}}" />       
       </div> 
       <div class="details"> 
        <div class="title"> 
         <h3>{{club.title}}</h3> 
        </div> 
        <div class="address"> 
         {{club.building}}, 
         {{club.street}}, 
         {{club.city}}, 
         {{club.county}}, 
         {{club.postcode}}       
        </div> 
        <div class="tel"> 
         <strong>Tel: </strong> 
         <a href="tel:{{club.telephone}}" ng-bind="club.telephone"></a> 
        </div> 
        <div class="email"> 
         <strong>Email: </strong> 
         <a href="mailto:{{club.email}}" ng-bind="club.email"></a> 
        </div> 
       </div> 
      </div> 
     </li>   
    </ul> 
</div> 

Контроллер:

angular.module('clubFilter.controllers', []). 
controller('clubController', function($scope, $http, googleMapService, clubService) { 

    if(searchTerm == "" && activity == "") {   
     clubService.getClubs().then(function(clubs) { 
      $scope.clubs = clubs; 
      console.log($scope.clubs); 
     });  
    } else if (searchTerm != "" && activity == "") { 

    } else if (searchTerm == "" && activity == "") { 

    } else if (searchTerm != "" && activity != "") { 

    } 

Вот результаты console.log (вы можете увидеть, что есть результаты и они являются правильными)

Object { id="1", a_id="["2","6","11","13","14",...8","69","76","84","97"]", title="Ashington Leisure Centre", more...}, Object { id="2", a_id="null", title="Beach Huts", more...}, Object { id="3", a_id="["2","6","11","13","14",...","70","76","84","105"]", title="Blyth Sports Centre", 

Может ли кто-нибудь увидеть, почему переменная $ scope.clubs не перескакивает на ng-repeat на мой взгляд? Благодаря

ответ

1

Я не вижу show где-нибудь в ваших клубных объектов и hellip; поэтому ng-show="club.show" было бы ложным и предотвратить вид от показа ваших клубов в нг-повторе.

Вместо:

<li ng-repeat="club in clubs" ng-show="club.show"> 

попробовать это:

<li ng-repeat="club in clubs"> 
+0

О, мое слово, как глупо меня. благодаря – devoncrazylegs

Смежные вопросы