gpt4 book ai didi

javascript - AngularJS - 在 ng-repeat 中过滤未定义的属性?

转载 作者:IT王子 更新时间:2023-10-29 03:09:02 25 4
gpt4 key购买 nike

对于我的 AngularJS 项目 (v1.2.3),我有一个路由列表,我正在尝试从该对象构建一个导航栏。我想要做的是在一种样式中显示具有未定义的 isRight 属性的任何对象,而在另一种样式中定义该属性。

在一个 ng-repeat 中,我想用未定义的 isRight 属性过滤那些对象。我如何才能在 ng-repeat 属性中完成此操作,而不必求助于创建自定义过滤器函数?

$scope.nav = [
{ path: '/', title: 'Home' },
{ path: '/blog', title: 'Blog' },
{ path: '/about', title: 'About' },
{ path: '/login', title: 'Login', isRight: true }
];

我意识到我可以将属性 isRight: false 添加到每个对象,或者为右侧和左侧链接设置单独的导航对象,以及其他类似的简单解决方法,但我很好奇是否有一种使用当前结构实现此目的的方法,使用以下内容:

<li ng-repeat="link in nav | filter:{isRight:undefined}">

这与其说是一种需要,不如说是一种好奇心,但我很感激任何建议。

最佳答案

您可以否定过滤器表达式。因此,您可以过滤掉 isRight 不是 (!) true 的任何内容,而不是处理 undefined。像这样:

<li ng-repeat="link in nav | filter:{isRight:'!true'} ">

当然,你可以做相反的事情:

<li ng-repeat="link in nav | filter:{isRight:'true'} ">

demo fiddle

关于javascript - AngularJS - 在 ng-repeat 中过滤未定义的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21070119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com