Angular ng-table
kullanıyorum, bir test hazırlığı platformu için filtreleme ile. DB'de soru başına 0 or 1
olarak sınav sonuçlarını saklıyorum ancak kullanıcıya Correct
veya Incorrect
olarak göstermem gerekiyor., filtre eklemek için şart koşulu ekle
Ben {{q.result == 1 ? 'Correct' : 'Incorrect'}}
ile bunu yapabilmek duyuyorum Ama aynı zamanda ihtiyacı olan bu filtreleme, anlam uygulanacak, kullanıcı "Doğru" yazıp q.result = 1.
ile tüm soruları filtrelemek mümkün olmalıdır<tr ng-repeat="q in $data">
<td title="'Correct/Incorrect'" filter="{ result: 'text'}" sortable="'q.result'" ng-class="{correct: q.result == 1, incorrect: q.result == 0}">
{{q.result == 1 ? 'Correct' : 'Incorrect'}}
</td>
Yukarıdaki üçüncül kurallara uymak için filter="{ result: 'text'}
değiştirmeyi denedim, ancak çalışmaz.
filter="{(result == 1 ? 'Correct' : 'Incorrect') : 'text'}"
verir hatası:
Syntax Error: Token '(' invalid key at column 2 of the expression [{(result == 1 ? 'Correct' : 'Incorrect') : 'text'}] starting at [(result == 1 ? 'Correct' : 'Incorrect') : 'text'}].
Bir yönerge kullanıyorum:
angular
.module('DDE')
.directive('results',['$rootScope', 'NgTableParams', function ($rootScope, NgTableParams) {
return {
restrict: 'AE',
scope: {},
transclude: true,
templateUrl: '/html/directives/results.html',
link: function(scope, elem, attr){
scope.questions = [];
/*
If user took a new test, show results
*/
scope.$on('show-results', function(event, args) {
scope.setData(args);
});
/*
Set question data
*/
scope.setData = function (args) {
console.log(args);
scope.questions = args;
scope.tableParams = new NgTableParams({}, { dataset: args});
};
}
}
}]);
args
Console.logging verir:
Tabloyu oluşturduğunuz bölümü denetleyicinize ekleyebilir misiniz? –
@AlonEitan yukarıya bakın, bu bir direktiftir – Growler