我有一种情况,我需要在第一次和第二次点击 div 时执行不同的事件。在第一次单击时,div 将被展开,在第二次单击时,它将被重定向到它的详细信息页面。div 包含帖子的详细信息。
<div ng-click="select(comment._id);"
ng-dblclick="changeurl(user.username,data.type,comment._id)"
enter ng-repeat="user in data.user">
直到现在我在第一次单击时扩展 div,然后在双击时我将它重定向到它的详细信息页面。
最好的方法是什么。
现在我的想法是在 ng-click 上创建一个计数器,然后执行事件。我们可以在 DOM 端执行它吗?
<div ng-click="counter = counter + 1" ng-repeat="user in data.user" ng-init="counter = 0" >
是否有任何其他指令可以让我有条件地执行select(comment._id) changeurl(user.username,data.type,comment._id)或如何有条件地调用这些函数?
更新:关于戴安娜的建议,这里是更新状态:
这里我没有来自 ng-repeat 的 div,这里我有两种根据数据显示的布局。
<div ng-repeat="data in comments">
<div ng-if="data.type=story">
<div ng-click="clickEvent($index,comment._id, user.username,data.type);" enter ng-repeat="user in data.user">
//displaying data here
</div>
</div>
<div ng-if="data.type=news">
<div ng-click="clickEvent($index,comment._id, user.username,data.type);" enter ng-repeat="user in data.user">
//displaying data here
</div>
</div>
</div>
$scope.secondClick = [];
//scope data
myservice.data().then(function(response){
$scope.comments = response.data;
for (i=0; i< $scope.comments.length;i++){
$scope.secondClick[i] = false;
}
});
$scope.clickEvent = function(index,id, userName, type){
if(!$scope.secondClick[index]){
// Execute first-click logic (call select function with the id).
$scope.secondClick[index] = true;
}
else{
// Execute second-click logic (call changeurl function with the id, userName, and type).
}
}
我尝试提供索引来运行和操作它们。由于嵌套的 ng-repeat 我得到索引'0'。.