我想让图像在 vuejs 中可点击
I want make image clickable in vuejs
当我单击图像时,我想向其中添加一些 class。
我正在按照以下方式进行操作:-
<div class="thumbnail">
<img
:image_id="image.id"
:src="'/storage/images/'+image.name"
@click="select(image)"
:class="{
'selected': image.selected
}"
/>
</div>
select(image) {
for (let i = 0; i < this.imageData.length; i++) {
if(image.id == this.imageData[i].id) {
this.imageData[i].selected = true
}
}
}
当我点击它时,它没有调用该方法。
我通过在 select()
方法中添加 console.log()
来检查它。
给我一些好的解决方案。
下面是单图的解决方法:https://jsfiddle.net/vqzyx6hn/
<div id="app">
<div class="thumbnail">
<img
:image_id="image.id"
src="http://farm1.static.flickr.com/47/139324914_374969bd81.jpg"
@click="select(image)"
:class="{
'selected': image.selected
}"
/>
</div>
</div>
new Vue({
el: "#app",
data: {
image : {
id: 1,
selected: false,
}
},
methods: {
select: function(image){
alert('it is working')
}
}
})
您需要将 select
注册为脚本部分中的方法:
<script>
export default {
methods: {
select(image) {
for (let i = 0; i < this.imageData.length; i++) {
if(image.id == this.imageData[i].id) {
this.imageData[i].selected = true
}
}
}
}
}
</script>
当我单击图像时,我想向其中添加一些 class。 我正在按照以下方式进行操作:-
<div class="thumbnail">
<img
:image_id="image.id"
:src="'/storage/images/'+image.name"
@click="select(image)"
:class="{
'selected': image.selected
}"
/>
</div>
select(image) {
for (let i = 0; i < this.imageData.length; i++) {
if(image.id == this.imageData[i].id) {
this.imageData[i].selected = true
}
}
}
当我点击它时,它没有调用该方法。
我通过在 select()
方法中添加 console.log()
来检查它。
给我一些好的解决方案。
下面是单图的解决方法:https://jsfiddle.net/vqzyx6hn/
<div id="app">
<div class="thumbnail">
<img
:image_id="image.id"
src="http://farm1.static.flickr.com/47/139324914_374969bd81.jpg"
@click="select(image)"
:class="{
'selected': image.selected
}"
/>
</div>
</div>
new Vue({
el: "#app",
data: {
image : {
id: 1,
selected: false,
}
},
methods: {
select: function(image){
alert('it is working')
}
}
})
您需要将 select
注册为脚本部分中的方法:
<script>
export default {
methods: {
select(image) {
for (let i = 0; i < this.imageData.length; i++) {
if(image.id == this.imageData[i].id) {
this.imageData[i].selected = true
}
}
}
}
}
</script>