Angular将附加值附加到单击的链接

时间:2016-11-29 10:53:25

标签: angularjs

有什么方法可以附加来自linksList的值(例如:gameID)并在click事件中获取它们?或者我的整个方法完全错了?

HTML

<ul ng-repeat="item in linksList">
  <li ng-click="onClickLink($event)">
    <a href="#">{{ item.gameName }}</a></li>
</ul>

JS

.controller('LinkCtrl', function ($scope) {
    $scope.linksList = [
        {
            gameID: 'l2',
            gameName: 'Lineage 2'
        },
        {
            gameID: 'h4',
            gameName: 'Heroes of Might and Magic IV'
        }
    ]

    $scope.onClickLink = function ($event) {
        console.log($event.target.text)
    }
}

3 个答案:

答案 0 :(得分:1)

你可以使用这样的东西。

<ul ng-repeat="item in linksList">
  <li ng-click="onClickLink(item.gameID)">
   <a href="#">{{ item.gameName }}</a></li>
</ul>

在你的控制器里面

$scope.onClickLink = function (gameID) {
    console.log(gameID)
}

答案 1 :(得分:1)

只需在ng-click="onClickLink(item)等点击事件中发送项目,以便您可以访问与该列表项相关的所有数据。检查此plunker。点击任何列表项,以便您在此处收到有关ID和名称的提醒

答案 2 :(得分:1)

您需要将所选数据发送到控制器并发出请求。

您可以在帖子http请求的视图中使用函数调用发送的参数。

方法将是这样的,

使用数据发布请求的功能:

$scope.onClickLink = function (item) {
    alert(item.gameID)
    $http.post('/somefile', {'gameID':  item.gameID})
    .then(function(response) {
        $scope.data = response.data;
    }, function(response) {
        $scope.data = "Something went wrong";
    });
}

查看:

<div ng-app="myApp" ng-controller="myCtrl"> 

<ul ng-repeat="item in linksList">
  <li ng-click="onClickLink(item)">
    <a href="#">{{ item.gameName }}</a></li>
</ul>
  </body>

</html>


</div>

Here is a fiddle