0
我正在使用Angular ng-table
進行測試準備平臺過濾。我在數據庫中存儲每個問題的測驗結果爲0 or 1
,但需要將它們顯示爲Correct
或Incorrect
給用戶。添加條件過濾器
我能夠與{{q.result == 1 ? 'Correct' : 'Incorrect'}}
這樣做,但這個也需要適用於過濾,這意味着,用戶應該能夠鍵入「正確」和濾波器q.result = 1
所有問題<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>
我試過更改filter="{ result: 'text'}
以遵循上面的三元約定,但它不起作用。
filter="{(result == 1 ? 'Correct' : 'Incorrect') : 'text'}"
給出了錯誤:
Syntax Error: Token '(' invalid key at column 2 of the expression [{(result == 1 ? 'Correct' : 'Incorrect') : 'text'}] starting at [(result == 1 ? 'Correct' : 'Incorrect') : 'text'}].
我用一個指令:
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});
};
}
}
}]);
Console.logging args
給出:
你可以在你的控制器中包含你創建表的部分嗎? –
@AlonEitan見上面,這是一個指令 – Growler