我试图从符合某个标准的对象数组中获取某个对象.
对象的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/
问候
撰写答案