1. 程式人生 > >vue實現圖片放大

vue實現圖片放大

script emit fun box () 實現 window 放大 msg

技術分享圖片

<script>
var Event = new Vue();

//組件A
var A = {
data: function() {
return {
a: "../images/1.jpg",
b: "../images/2.png",
c: "../images/3.jpg"
}
},
template: `<div>
<img :src="a" width="200px" height="150px" @click="send">
<img :src="b" width="200px" height="150px" @click="send1">
<img :src="c" width="200px" height="150px" @click="send2">
</div>
`,
methods: {
send:function(){
Event.$emit("a-msg", this.a);
},
send1:function(){
Event.$emit("a-msg", this.b);
},
send2:function(){
Event.$emit("a-msg", this.c);
}

}
};

//組件B
var B = {
template: `
<div>
<img :src="a" width="600px" height="500px">
</div>
`,
mounted () {

//接收A組件的數據
Event.$on("a-msg", function (msg) {
this.a=msg;
}.bind(this));

},
data () {
return {
a: "../images/1.jpg",

}
}
};

window.onload = function () {

new Vue({
el: "#box",
components: {
"dom-a": A,
"dom-b": B
}
});

};
</script>
<div id="box">
<dom-a></dom-a>
<dom-b></dom-b>
</div>

vue實現圖片放大