gpt4 book ai didi

javascript - Angular 过滤器-controllerAs 语法不起作用

转载 作者:行者123 更新时间:2023-11-27 23:26:14 24 4
gpt4 key购买 nike

我在 html 代码中有这个:

<md-list>
<md-list-item ng-repeat="schema in dash.filteredSchemas = (dash.items | filter: {name: dash.schemaListFilter}) | orderBy: 'schema.id'">
<h4>{{ ::schema.name }}</h4>
</md-list-item>
</md-list>
<div ng-show="dash.filteredSchemas.length">Empty</div>

问题是,使用此语法时我看不到任何结果 - 如果未填充过滤器,则应显示 10 个结果。

注意:没有控制台错误。更改为:

<md-list>
<md-list-item ng-repeat="schema in dash.items | filter: {name: dash.schemaListFilter} | orderBy: 'schema.id'">
<h4>{{ ::schema.name }}</h4>
</md-list-item>
</md-list>
<div ng-show="dash.filteredSchemas.length">Empty</div>

显示结果,但(显然)在应用过滤器并且没有结果匹配时不显示空消息。

这有什么问题吗?!

最佳答案

如果您想获得过滤结果但又不想破坏原始数组,您可以使用 'as' 操作进行 ng-repeat...

<md-list>
<md-list-item ng-repeat="schema in dash.items | filter: {name: dash.schemaListFilter} | orderBy: 'schema.id' as filteredData">
<h4>{{ ::schema.name }}</h4>
</md-list-item>
</md-list>
<div ng-show="filteredData.length">Empty</div>

因此,每当您更改过滤器查询时,结果都会设置为'filteredData',以便您可以使用此数组属性来实现您想要的...

关于javascript - Angular 过滤器-controllerAs 语法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34943888/

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