Javascript VUE如何从方法将值分配到变量

Javascript VUE如何从方法将值分配到变量,javascript,vue.js,Javascript,Vue.js,您能帮助我如何在HTML中从方法向变量赋值吗 我在HTML中有: <b-card-text>X position {{xpos}}</b-card-text> <b-card-text>Y position {{ypos}}</b-card-text> 但在方法内部我有一个错误: 'xpos' is assigned a value but never used 'ypos' is assigned a value but never used

您能帮助我如何在HTML中从方法向变量赋值吗

我在HTML中有:

<b-card-text>X position {{xpos}}</b-card-text>
<b-card-text>Y position {{ypos}}</b-card-text>
但在方法内部我有一个错误:

'xpos' is assigned a value but never used
'ypos' is assigned a value but never used

那么,如何从方法中分配值呢?

您可以使用
数据
对象,然后简单地在模板和方法中使用

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
      })
    },

您可以使用
数据
对象,然后只需在模板和方法中使用即可

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
      })
    },

嗨,在数据对象中定义变量,然后你可以在任何地方简单地使用它们。嗨,在数据对象中定义变量,然后你可以在任何地方简单地使用它们。
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
      })
    },