我正在学习Vue.JS,但遇到了一些问题。我希望用户能够单击<a href="#"></a>
标签,e.preventDefault()
也可以获取与链接关联的对象。这是我的代码(请注意,因为我使用的是Blade ,所以在此@
之前{{
):
<a href="#"
class="list-group-item"
v-repeat="responder: responders"
v-on="click: showResponder(responder)">
<div class="media">
<div class="media-left">
<img src="" v-attr="src: responder.avatar" alt="" class="media-object"/>
</div>
<div class="media-body">
<h4 class="media-heading">@{{ responder.first_name }} @{{ responder.last_name }}</h4>
<p>
<strong><i class="fa fa-phone"></i> Phone:</strong> @{{ responder.phone }}
</p>
</div>
</div>
</a>
和Javascript:
var vm = new Vue({
el: "#responderContainer",
data: {
activeResponder: null,
responders: []
},
methods: {
showResponder: function(responder)
{
// Here is where I wish to prevent the
// link from actually firing its default action
responder.preventDefault();
this.activeResponder = responder;
}
}
});
就抓取responder
对象而言,此方法有效,但会触发链接-我需要既能e.preventDefault()
获取对象又能获取对象。
谢谢!
另外,在Vue 1.x中,您还可以使用event修饰符
.prevent
:HTML:
您也可以停止传播:
JS: