Reputation: 2177
could you please help me how to assign values from method to variables in HTML?
I have in HTML:
<b-card-text>X position {{xpos}}</b-card-text>
<b-card-text>Y position {{ypos}}</b-card-text>
and would like to assign to xpos and ypos values from method:
methods: {
show() {
const canvas = document.getElementById('canvasId')
// canvasMouseTrack.width = 1024
// canvasMouseTrack.height = 800
// console.log(rect.offsetY)
// console.log(rect.offsetX)
// console.log(rect.width)
canvas.addEventListener('click', event => {
const rect = canvas.getBoundingClientRect()
const x = event.clientX - rect.left - canvas.clientLeft
const y = event.clientY - rect.top - canvas.clientTop
// console.log('Pos x', x, ' Pos y', y)
const xpos = x
const ypos = y
})
},
but inside method i have error:
'xpos' is assigned a value but never used
'ypos' is assigned a value but never used
So, how to assing values from method?
Upvotes: 0
Views: 56
Reputation: 5853
data: () => ({
xpos: 0,
ypos: 0
}),
methods: {
show() {
const canvas = document.getElementById('canvasId')
// canvasMouseTrack.width = 1024
// canvasMouseTrack.height = 800
// console.log(rect.offsetY)
// console.log(rect.offsetX)
// console.log(rect.width)
canvas.addEventListener('click', event => {
const rect = canvas.getBoundingClientRect()
const x = event.clientX - rect.left - canvas.clientLeft
const y = event.clientY - rect.top - canvas.clientTop
// console.log('Pos x', x, ' Pos y', y)
this.xpos = x
this.ypos = y
})
},
Upvotes: 0
Reputation: 2412
You can use data
object and then simply use in the template and also in methods.
data () {
return {
xpos: '',
ypos: ''
}
},
methods: {
show() {
const canvas = document.getElementById('canvasId')
// canvasMouseTrack.width = 1024
// canvasMouseTrack.height = 800
// console.log(rect.offsetY)
// console.log(rect.offsetX)
// console.log(rect.width)
canvas.addEventListener('click', event => {
const rect = canvas.getBoundingClientRect()
const x = event.clientX - rect.left - canvas.clientLeft
const y = event.clientY - rect.top - canvas.clientTop
// console.log('Pos x', x, ' Pos y', y)
this.xpos = x
this.ypos = y
})
},
Upvotes: 2