gpt4 book ai didi

javascript - AngularJs - 在 ng-repeat 中执行函数

转载 作者:行者123 更新时间:2023-12-03 05:25:26 25 4
gpt4 key购买 nike

我的网络应用程序应该从服务器获取图像,显示它们,并提供投票喜欢或不喜欢的可能性。投票将存储在数据库中。

我的 Controller :

$scope.beginSearch = function () {
$http
.get("http://example?q=" + $scope.search )
.then(function (response) {
$scope.url = response.data.data;
});
};

<tr ng-repeat="x in url">
<th>
<img src="{{x.images}}"></img>
<div class="well">
<i class="fa fa-thumbs-o-up fa-2x vertical-align" ng-click="vote_up(x.id)"></i>
<i class="fa fa-thumbs-o-down fa-2x vertical-align" ng-click="vote_down(x.id)" ></i>
</div>
</th>
</tr>

我希望在每个 ng-repeat 中使用一个函数,它会返回投票给喜欢

{{ return_vote(x.id)}} 

但它不起作用,据我所知,我不应该在 html 中使用函数,如果它们不在 ng-click 函数中。

ng-init 也不起作用。

有人可以帮助我吗?我该如何解决我的问题?

图片在某个网站上,我只是使用他们的WEB-API获取它们,所以他们没有投票的API,我需要自己做。

最佳答案

您可以在方括号{{yourFunction(x.id)}}内调用您的函数,并添加逻辑以在内部获取投票。

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.url = [{
images: "http://lorempixel.com/g/100/100/",
id: 1
}, {
images: "http://lorempixel.com/100/100/",
id: 2
}]
$scope.getVotes = function(id){
//logic to get number of votes
return id * 5;
}

$scope.vote_up = function(id){
console.log("Vote up id " + id);
}

$scope.vote_down = function(id){
console.log("Vote down id " + id);
}
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myCtrl">
<div ng-repeat="x in url">
<img src="{{x.images}}" />
<p>{{getVotes(x.id)}} votes</p>
<i class="fa fa-thumbs-o-up fa-2x vertical-align" ng-click="vote_up(x.id)"></i>
<i class="fa fa-thumbs-o-down fa-2x vertical-align" ng-click="vote_down(x.id)"></i>
</div>
</body>

关于javascript - AngularJs - 在 ng-repeat 中执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41166430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com