gpt4 book ai didi

javascript - Angular 过滤器困惑

转载 作者:行者123 更新时间:2023-11-28 19:49:31 25 4
gpt4 key购买 nike

所以我的 firebase 中有一个用户列表。现在我向每个用户展示这样的内容:

<input type="text" ng-model="search.username" placeholder="{{ 'SEARCH_USERS' | translate}}" class="form-control"> <br/>
<ul>
<li ng-repeat="user in users | usernameFilter:search.username ">
<a href="#/report/{{user.username}}">{{user.username}}: {{user.firstname}} {{user.lastname}}</a> <br/>
</li>
</ul>
<p ng-show="error" >{{error}}</p>

Search.username 或搜索没有区别,过滤器不执行任何操作。这是我的用户引用的样子:

Object {$id: "users", $bind: function, $add: function, $save: function, $set: function…}
$add: function (item) {
$auth: function (token) {
$bind: function (scope, name, defaultFn) {
$child: function (key) {
$getIndex: function () {
$getRef: function () {
$id: "users"
$off: function (type, callback) {
$on: function (type, callback) {
$remove: function (key) {
$save: function (key) {
$set: function (newValue) {
$transaction: function (updateFn, applyLocally) {
$update: function (newValue) {
Battle: Object
Litchy: Object
Robin: Object
__proto__: Object

Battle、Litchy 和 Robin 都是用户。我想知道如何通过用户名过滤此列表,AngularJS 文档示例中的简单方法似乎在这里不起作用,因为我的引用中没有显式的用户名属性。

编辑:Firebase 结构屏幕截图:

firebase

最佳答案

@ExpertSystem 对 Angular 过滤器方法的工作原理提供了一些深刻的见解。您还可以使用 orderByPriority 将 $firebase 对象转换为有序数组,这与 Angular 的过滤工具一起使用要简单得多:

<li ng-repeat="user in users | orderByPriority | usernameFilter:search.username ">
<a href="#/report/{{user.username}}">{{user.username}}: {{user.firstname}} {{user.lastname}}</a> <br/>
</li>

另请注意,在即将发布的 AngularFire 版本中,orderByPriority 可能会被一些更高级的数组工具 ($asArray) 取代。

关于javascript - Angular 过滤器困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23753941/

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