Angularjs,链接点击不起作用

时间:2014-02-03 10:30:28

标签: javascript jquery angularjs

这可能听起来像是一个愚蠢的问题,但我似乎无法找到答案,这些天我正在研究angularjs,我已经成功生成了页面,并且它们的链接看起来像这样。

<div ng-repeat="evsi in evz" class="ng-scope">
<a href="#" likey="{{evsi.key}}" id="sideli" class="ng-binding">Link text</a>
</div>

我想要做的是当点击链接时我需要检索附加到它的likey值并将其传递给触发事件的地方。

所以我使用了以下代码

$('#sideli').on('click', function(){
    var linkkey = $(this).data('likey');
});

然而,这并没有得到我需要的值,即使我设置了一个简单的警报事件来检查链接是否被点击,警报也没有显示出来。错误在哪里,我该如何解决?

由于

3 个答案:

答案 0 :(得分:2)

你的html:

<a ng-click="doWhatYouWant(evsi)" likey="{{evsi.key}}" 
           id="sideli" class="ng-binding" href="javascript:void(0)">Link text</a>

在您的控制器中:

$scope.doWhatYouWant = function(evsi){
   console.log(evsi.key);
}

请记住,您正在使用棱角分明。无需查询元素并绑定click事件。

答案 1 :(得分:0)

您可以使用ngClick。

<div ng-repeat="evsi in evz" class="ng-scope">
  <a href="#" ng-click="linkkey = evsi.key">Link text</a>
</div>

答案 2 :(得分:-1)

如果要检索属性值,请使用attr方法:

$('#sideli').on('click', function(){
     var linkkey = $(this).attr('likey');
});

但更好的方法是使用棱角分明,正如@Michael建议的那样。