Скрытие выражений повторения ng и логики фильтра в html?

0

У меня есть простой ng-repeat с фильтром на нем ниже. Однако в моем html я вижу свою логику в html. Есть ли способ скрыть это?

<div ng-repeat="row in rowData.players| filter:{name:"Dan"})">
{{row.name}}
</div>

Когда я смотрю на свою страницу, хотя все мои повторные divs имеют в себе вышеупомянутое логическое выражение. Есть ли директива или передовая практика, чтобы скрыть это?

Теги:
ng-repeat

3 ответа

2

<div ng-repeat="row in rowData.players| filter:{name:'Dan'})"> {{row.name}} </div>

Попробуйте использовать одинарные кавычки вместо двойных кавычек.

1

Вместо фильтрации в вашем html-шаблоне вы можете создать переменную с областью действия, которая содержит эти отфильтрованные значения, а затем перебирать их. Таким образом, пользователи, которые проверяют ваш DOM, не будут видеть отфильтрованные значения.

Например, в вашем контроллере вы можете:

.controller('SomeCtrl', function($scope, $filter) {

    $scope.rowData.players = $filter('someFilter')(filterArgs1, filterArgs2, etc);

})
1

У вас есть дополнительный ")" в конце вашего:

"row in rowData.players| filter:{name:'Dan'})"

не уверен, что он должен быть там или нет, проверьте его, также @Divyesh прав, попробуйте использовать простые тики '' вместо "", когда уже заключен в doble ticks

Ещё вопросы

Сообщество Overcoder
Наверх
Меню