gpt4 book ai didi

javascript - 按当前范围内的属性过滤 ng-repeat

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

我尝试了以下操作(在由指令加载的模板中):

<li ng-repeat="lang in languages | filter: { Culture: '!{{currentLanguage}}'}">

这不起作用,所有语言都会呈现

<li ng-repeat="lang in languages | filter: { Culture: !currentLanguage}">

这不起作用,没有呈现任何语言

语言有一个属性“文化”。 currentLanguage(在范围内)解析为“en-CA”(当我在 Chrome 开发工具中查看该元素时,我可以看到此绑定(bind))。我希望返回除“en-CA”之外的所有语言。如果不创建自定义过滤器,这可能吗?

最佳答案

AngularJS 过滤器接受表达式,而您提供插值

In HTML Template Binding

{{ filter_expression | filter : expression : comparator}}

尝试更改为以下内容...

<li ng-repeat="lang in languages | filter: { Culture: !currentLanguage }">

请参阅AngularJS filter docs了解更多信息

<小时/>

如果您需要一些自定义代码来解决此问题,则更复杂的解决方案可能包括...

<li ng-repeat="lang in languages | filter: languageFilter">{{ lang.name }}</li>
<小时/>
$scope.languages = [{'name': 'en-US'}, {'name': 'en-CA'}]

$scope.currentLanguage = 'en-CA';

$scope.languageFilter = function(language) {
return language.name != $scope.currentLanguage; // en-US
}

JSFiddle Link - 工作示例

关于javascript - 按当前范围内的属性过滤 ng-repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30740842/

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