这可能听起来像是一个愚蠢的问题,但我似乎无法找到答案,这些天我正在研究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');
});
然而,这并没有得到我需要的值,即使我设置了一个简单的警报事件来检查链接是否被点击,警报也没有显示出来。错误在哪里,我该如何解决?
由于
答案 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建议的那样。