Angularjs 仅显示与用户关联的内容
我有一个服务可以提出请求Angularjs 仅显示与用户关联的内容,angularjs,Angularjs,我有一个服务可以提出请求 .factory('movieService', ['$http', function($http) { return { loadMovies: function() { return $http.get('/movies_users.json'); } }; }]) 这是JSON输出,是连接两个表的结果。用户表和电影表。如您所见,用户与一部或多部电影关联 [ {"id":1, "email":"peter@peter.n
.factory('movieService', ['$http', function($http) {
return {
loadMovies: function() {
return $http.get('/movies_users.json');
}
};
}])
这是JSON输出,是连接两个表的结果。用户表和电影表。如您所见,用户与一部或多部电影关联
[
{"id":1,
"email":"peter@peter.nl",
"movies":[
{
"id":4,
"title":"Creed",
movie_id":"312221"
},
{
"id":5,
"title":"Star Wars: Episode VII - The Force Awakens",
"movie_id":"140607"
}
]
},
{"id":2,
"email":"jan@jan.com",
"movies":[
{
"id":4,
"title":"Creed",
movie_id":"312221"
}
]
}
]
我的控制器中有这个功能
movieService.loadMovies().then(function(response) {
$scope.movies = response.data;
});
这会将服务中的数据存储到电影范围中
如果我这样做
"ng-repeat" => "movie in movies"
ng repeat显示所有用户添加的所有电影。如何在视图中仅显示与当前用户关联的电影?可在快速谷歌搜索中找到:
编辑:看起来您实际上有一个用户列表,因此您可以对用户上的ngrepeat进行筛选,然后在电影上有一个嵌套的ngrepeat(未筛选,因为它们连接到用户)。但是,根据你的应用程序实际需要的工作方式,你可以在它返回时过滤数据,然后扔掉你不需要的用户。这就引出了一个问题,您有权访问服务器端代码吗?如果是这样,您可以在那里进行筛选,而不返回与不同用户关联的数据,这似乎是您想要的-如果有帮助,请告诉我。 请注意,在
电影id“
上有一个额外的”
,这肯定没有帮助
angular.module('myApp',[])
.controller('ctrl',函数($scope){
$scope.users=[
{“id”:1,
“电子邮件”:peter@peter.nl",
“电影”:[
{
“id”:4,
“头衔”:“信条”,
电影编号:“312221”
},
{
“id”:5,
“标题”:“星球大战:第七集-原力觉醒”,
“电影id”:“140607”
}
]
},
{“id”:2,
“电子邮件”:jan@jan.com",
“电影”:[
{
“id”:4,
“头衔”:“信条”,
电影编号:“312221”
}
]
}
];
});代码>
{{user.email}
{{movie.title}
用户2的电影
{{movie.title}
您的代码不会显示包含所有电影的电影对象,因此您应该使用其中一个仅包含一个用户电影的对象。显示更多代码?我试图澄清这个问题。我的问题是,当我使用ng repeat
时,它会显示所有用户的所有电影。我正在寻找一种只显示当前用户添加的电影的方法。
<div ng-repeat="movie in movies | filter {email:'user@email.com'}">