2015-05-05 4 views
1

Мои данные выглядит, где каждая запись log, исходя из SupportServiceng-checked имеет значение true, но не включен?

var getDummyLogsForNow = function() { 
    return [ 
     { 
      "fileName": "file A", 
      "location": "logs/fileA", 
      "size": "20000", 
      "lastUpdated": "May 04, 2015 09:21PM" 
     }, 
     { 
      "fileName": "file B", 
      "location": "logs/fileB", 
      "size": "4034300", 
      "lastUpdated": "May 01, 2015 01:21PM" 
     }, 
     { 
      "fileName": "file C", 
      "location": "logs/fileC", 
      "size": "53437000", 
      "lastUpdated": "May 02, 2015 03:11PM" 
     } 
    ] 
}; 

return { 
    logs: getDummyLogsForNow() 
}; 

В мой контроллер, я использую его в качестве

$scope.logs = SupportService.logs; 
$scope.selectedLogs = ["file C"]; 

и это, как я распечатать их на HTML-таблицы

<table class="logsTable"> 
     <thead> 
     <tr> 
      <th>#</th> 
      <th>File Name</th> 
      <th>Last Updated</th> 
      <th>Size</th> 
      <th>Location</th> 
     </tr> 
     </thead> 
     <tr ng-repeat="log in logs"> 
      <td> 
       <input type="checkbox" 
         ng-checked="selectedLogs.indexOf(log.fileName) != -1" 
         ng-click="toggleSelect(log)"> 
      </td> 
      <td>{{log.fileName}}</td> 
      <td>{{log.lastUpdated}}</td> 
      <td>{{log.size}}</td> 
      <!--<td>{{log.location}}</td>--> 
      <td>{{selectedLogs.indexOf(log.fileName) != -1}}</td> 
     </tr> 
    </table> 

Даже если одна из записей, если true, checkbox не проверяется. Все, что я вижу

enter image description here

Что вопрос здесь?

+0

не очень, я не использую 'ngModel' здесь – daydreamer

+0

Каждый повторяющимся получает свой собственный сфера поэтому попробуйте '$ parent. $ parent.selectedLogs.indexOf (log.fileName)! = -1'. – R3tep

+0

Это не помогло ни @ R3tep. Странно то, что когда я обновляю страницу, я вижу, что все они включены и внезапно исчезают. – daydreamer

ответ

0

Возможно, у вас что-то не так с ссылкой на вашу модель. Я упростил ваш пример (бросил службу) и нашел здесь рабочий пример: https://jsfiddle.net/fpnte4td/6/

Возможно, что-то должно быть в контроллере или службе ... Можете ли вы попробовать определить образцы данных непосредственно в контроллере, например ниже?

$scope.logs = [{ 
     "fileName": "file A", 
     "location": "logs/fileA", 
     "size": "20000", 
     "lastUpdated": "May 04, 2015 09:21PM" 
    },{ 
     "fileName": "file B", 
     "location": "logs/fileB", 
     "size": "4034300", 
     "lastUpdated": "May 01, 2015 01:21PM" 
    },{ 
     "fileName": "file C", 
     "location": "logs/fileC", 
     "size": "53437000", 
     "lastUpdated": "May 02, 2015 03:11PM" 
    } 
]; 

Если это не помогает, пожалуйста, напишите полное тело службы и управления (пропустить ненужные части)

+0

Это должен быть комментарий - не ответ - так как он фактически не отвечает на вопрос –

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