vue.js 事件目标的显示信息为ko

s6fujrry  于 7个月前  发布在  Vue.js
关注(0)|答案(3)|浏览(83)

我有一个按钮与id和名称,我想显示他们的价值,但在我的代码没有显示。这是什么问题?

<v-btn id="mytest" name="test" @click="addNewEntry">{{'add '}}</v-btn>

  methods: {
    addNewEntry() {
        document.getElementById("mytest").addEventListener('click', (event) => {        
        console.log('id value ' , event.target.id);
        console.log('name value ' , event.target.name)
      });
    },
}

字符串

dba5bblo

dba5bblo1#

你已经有一个事件监听器通过@click="addNewEntry"连接到你的方法,所以只要做:

methods: {
    addNewEntry(event) {
      console.log('id value ' , event.target.id);
      console.log('name value ' , event.target.name)
    },
  }

字符串

8hhllhi2

8hhllhi22#

使用ref并调用this.$refs来获取按钮的属性。

对于vuetify 2

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
    methods: {
      addNewEntry() {
        console.log('id value', this.$refs.myBTN['$attrs'].id)
        console.log('name value', this.$refs.myBTN['$attrs'].name)
      },
    },
})

个字符

对于vuetify 3

这里有一个Demo。

5gfr0r5j

5gfr0r5j3#

我建议您阅读更多关于vue v-modelevent handling in vue的内容
但简而言之,当你添加@click='methodName'时,已经添加了一个事件侦听器,所以不需要在你的方法中添加document.getElementById("mytest").addEventListener(...)
还有一件事,{{'add '}}:你应该只把变量放在{{}}里面。因为'add'在这里是一个常量字符串,那么你可以这样写:'add ' {{ someVariable }}
话虽如此,你的问题的答案将使用上面提到的一些要点:在数据中添加一个变量来存储id和name的值。并使用v-model将该变量与输入值的输入绑定。

data () {
 return {
  name: ''
 }
},
methods: {
 addNewEntry() {
   console.log('name value ' , this.name)
 }

字符串
}
并在html输入中绑定相关值

<input type="text" v-model="name">
<v-btn id="mytest" name="test" @click="addNewEntry">add {{ name }}</v-btn>

相关问题