我有2个视图
view1.html
<li ng-repeat="post in posts | filter: { section: 'principal'} ">
view2.html
<li ng-repeat="post in posts | filter: { section: 'bug' } ">
你可以在view1上看到我有一个过滤器,只显示有关view2的“principal”和“bug”部分的帖子。
现在我添加一个值为“principal”的新帖子,帖子出现在view1中($ index = 1)。
在视图2中添加值为“bug”($ index = 2)的帖子后。
Finnaly我再次在view1($ index = 3)
对于简历,我在view1上有2个帖子,在view2中有1个帖子
但是如果点击view2上的帖子,我的$ index会出现问题,他看到他在列表的第一个位置,所以他接受了index1并更改了我在view1中创建的第一个帖子。
如何解决此问题?
我希望我已经清楚地说明了这一点。 谢谢你的回答
编辑:
这是他调用函数passerDroite
<a class="waves-effect white-text" ng-show="!editing[$index]" ng-click="passerDroite($index)"> >> </a>
这是她刚修改“etat”的功能:
$scope.passerDroite = function(index){
var post = $scope.posts[index];
post.etat = "enCours";
Posts.update({id: post._id}, post);
$scope.editing[index] = false;
}
编辑时我遇到了一些问题:
$scope.editing = [];
$scope.posts= Posts.query();
$scope.edit = function(index){
$scope.editing[index] = angular.copy($scope.posts[index]);
}
我试试这个:
$scope.edit = function(post){
post = angular.copy(post);
}
是否可以找到帖子的索引?喜欢post.index?
答案 0 :(得分:0)
这是一个已知问题 - 尝试传入实际对象而不是索引,因为Johannes Jander已经指出ng-click="passerDroite(post)"
和function(post){