我有一个简单的搜索表 -
<table>
<thead>
<tr>
<th> Name </th>
<th> Lastname </th>
<th> Job Title </th>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="data in ctrl.data | filter : searchQuery">
<td>{{data.name}}</td>
<td>{{data.lastname}}</td>
<td>{{data.jobtitle | translate}}</td>
</tr>
</tbody>
</table>
<input type="text" data-ng-model="searchQuery"/>
&#13;
由于职位名称已被翻译 - 搜索仅适用于原始价值 - 所以是和#34;开发人员&#34;但没有任何翻译。
是否有可能使其与翻译一起使用?
答案 0 :(得分:1)
您可以创建一个过滤器来处理翻译
过滤强>
app.filter('translateFilter', function($translate) {
return function(input, param) {
if (!param) {
return input;
}
var searchVal = param.toLowerCase();
var result = [];
angular.forEach(input, function(item) {
var translated = $translate.instant(item.jobtitle);
if (translated.toLowerCase().indexOf(searchVal) > -1) {
result.push(item);
}
});
return result;
};
});
并像这样使用它:
<强> HTML 强>
<tr data-ng-repeat="data in ctrl.data | translateFilter:searchQuery">