通过检查范围变量来过滤Angular.js

 fion依依315 发布于 2023-02-12 12:45

我试图从符合某个标准的对象数组中获取某个对象.

对象的id应该等于scope范围变量$scope.lobbyid.我目前的方法不会将大厅对象传递给控制器​​.

selected lobby表示站点上活动选项卡的数据.所以容器数组只在站点加载时获取一次.

标记

[[lobby.name]]

调节器

$scope.checkLobbyID = function($lobby) {
    return $lobby.lobbyid == $scope.lobbyid;
}

排列

"lobbies": [
    {
        "isglobal": true,
        "lobbyid": 1,
        "name": "GLOBAL",
    },
    {
        "isglobal": false,
        "lobbyid": 2,
        "name": "stackoverflow rules",
    },
    {
        "isglobal": false,
        "lobbyid": 3,
        "name": "sdadadad",
    }
]

临时解决方案是将以下代码添加到tab-switch事件.但这需要一个副本和另一个范围变量.如何用过滤器实现这一目标?

angular.forEach($scope.lobbies, function(lobby) {
    if (lobby.lobbyid == $scope.lobbyid)
    $scope.currLobby = angular.copy(lobby);
});

小智.. 6

你不需要标记中的大厅参数.过滤器将隐式将其传递给scope-filter函数

http://jsfiddle.net/vrwQG/

问候

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有