gpt4 book ai didi

javascript - Angular.js 版本 1.2.18 的嵌套过滤

转载 作者:行者123 更新时间:2023-11-29 19:38:46 25 4
gpt4 key购买 nike

我是第一次尝试使用 AngularJS。我确实重复了一个基于 JSON 数据的模板,这是一个示例:

$scope.users = [
{name: 'first user', status: {name: 'employee'}},
{name: 'second user', status: {name: 'freelancer'}},
{name: 'third user', status: {name: 'employee'}},
];

这很好用:

<p ng-repeat="user in users">{{user.name}}</p>

现在我想预过滤显示的用户。也可以正常工作:

<p ng-repeat="user in users | filter:{status: 'employee'}">{{user.name}}</p>

但是当我想根据嵌套对象(status.name 而不是 status)中的 JSON 数据进行过滤时,它就不再起作用了!

<p ng-repeat="user in users | filter:{status.name: 'employee'}">{{user.name}}</p>

我正在使用 AngularJS 1.2.18。如果我使用旧版本,例如 AngularJS 1.2.0-rc.3,它会再次运行。

我在文档中找不到有关该行为的任何信息。是否有新的语法或功能是否不再实现?

最佳答案

这是在 AngularJS 1.2.11 中引入的重大更改.它has been decided不要这样标记它,因为它既没有经过测试也没有记录在案。

从这个版本开始,myObject | filter:{'key.subkey':'search'} 将在 myObject['key.subkey'] 中搜索字符串 search 并且不再在 myObject['key']['subkey'].

AngularJS 1.2.13 中引入了新语法,在我看来更自然的是,在嵌套对象中搜索:myObject |过滤器:{键:{子键:'搜索'}}。这就是您正在寻找的解决方案。

<p ng-repeat="user in users | filter:{status : {name: 'employee'}}">{{user.name}}</p>

关于javascript - Angular.js 版本 1.2.18 的嵌套过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266784/

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