隐藏ng-repeat表达&在HTML中过滤逻辑?

时间:2016-07-21 17:54:35

标签: angularjs ng-repeat

我在下面有一个带过滤器的简单ng-repeat。但是在我的html中,我在html中看到了我的逻辑。有没有办法隐藏这个?

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

当我看到我的页面时,虽然我所有重复的div都有上面的逻辑表达式。是否有指令或最佳做法来隐藏这个?

3 个答案:

答案 0 :(得分:2)

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

尝试使用单引号而不是双引号。

答案 1 :(得分:1)

您可以创建一个包含这些过滤值的范围变量,然后迭代它们,而不是在您的html模板中进行过滤。这样,检查DOM的用户将看不到过滤后的值。

例如,在您的控制器中,您可以:

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

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

})

答案 2 :(得分:1)

你有一个额外的&#34;)&#34;在你的结尾:

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

不确定是否必须在那里,检查出来,同样@Divyesh是对的,尝试使用简单的刻度线&#39;&#39;而不是&#34;&#34;当已被doble ticks包围时