Я выполняю ионное приложение, которое использует угловые-js. Используя ng-repeat, я заполняю результаты. Я хотел бы отображать разные цвета на основе разных критериев.Ng-Style: невозможно передать данные контроллеру
мне удалось сделать только один критерий, используя кодирование нг-стиль инлайн следующим образом:
<table ng-style="{color:(test.Status == 'Cleared')?'green' : 'red'}">
Он отлично работает, но если я хочу установить несколько критериев, как время и т.д., то встроенный не будет жизнеспособным вариантом.
Таким образом, я попытался сменить это на контроллер.
<ion-list>
<ion-item ng-repeat="test in tests" class ="item-text-wrap" style="height:40%">
<a href="#/tab/test/test-detail/{{test.ID}}">
<div style="width:80%; float:left;">
<table>
<span ng-style="calculateStyle(test)">
<tr>
<td> <strong>Remark: </strong></td>
<td style="padding:3px">{{test.Remark}}</td>
</tr>
<tr>
<td><strong>Status:</strong></td>
<td style="padding:3px">{{test.Status}}</td>
</tr>
</span>
</table>
</div>
</a>
</ion-item>
</ion-list>
В моем классе контроллера
.controller('Ctrl', function($scope, $http, $cordovaSQLite, dataFactory, StoreService) {
....
$scope.calculateStyle = function(test) {
var style={}
if (test.Status == 'Cleared') {
style.color='green';
console.log('Viola');
}
else{
console.log('GG');
}
return style;
}
Примечание: тесты это данные в формате JSON, извлеченные из веба-сервиса, который имеет множество объектов. Таким образом, потребность в ng-repeat и я пытаюсь получить каждое значение test.Status для цветового кодирования.
По некоторым причинам я не знаю, почему, он бросает мне ошибку
Uncaught SyntaxError: Unexpected token test
на
$scope.calculateStyle = function(test)
я могу передать целое число или строку через через calculateStyle («Test») или calculateStyle (123), он отлично работает. Просто этот «случай» имеет проблемы.
Я попытался заменить его на «$ scope», но все равно ничего не получилось. В чем может быть проблема?
Спасибо!
можете ли вы скомпоновать журнал 'test' внутри' calculateStyle'? – kdlcruz
вам нужно вернуть объект, например '{'color': 'green'}' вы можете дважды проверить, что именно вы возвращаетесь. Также попробуйте выполнить пробный тест и убедитесь, что вы его передаете. – ajmajmajma
Привет, извините, я слишком много отлаживал и забыл, что ошибка не определена для области. Этот оригинальный код возвращает мне unsached syntaxError. – Gene