Аргументы функций и параметры не работают в проекте vuetify, использующем ключевое слово "this"? - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь выполнить что-то в проекте vuetify, как в примере ниже, который работает с простым html / javascript:

<body>
  <button id="anid" onclick="idcheck(this.id)">
  </button
</body>
<script>
  function idcheck(id){
    console.log(id);
  }
</script>

Но в моем проекте vuetify, когда я пытаюсь выполнить то же самоекак показано ниже, я получаю консольную ошибку «Невозможно прочитать свойство 'id' с нулевым значением":

<v-btn id="price" flat small @click="idcheck(this.id)">Price</v-btn>

methods: {
  idcheck(id){
    alert(id);
}

Есть ли способ получить идентификатор элемента .v-btn с помощью этого методаили это невозможно в проекте vuetify?

Редактировать: Проблема заключалась в том, что у меня были две функции, помещенные в кнопку @click, которые я неразумно не указал в своем примере.Принятый ответ работает.

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Есть ли способ получить идентификатор элемента .v-btn с помощью этого метода ...

Есть, но мне интересно, что вы собираетесь делать сэто когда вы можете легко получить доступ к самому объекту (кнопке) по ссылке.

<v-btn id="price" flat small @click="idcheck">Price</v-btn>
{
  // ...

  methods: {
    idcheck(e) {
      const button = e.target;
      const id = button.id; // price

      // ...
    }
  }
}
0 голосов
/ 24 мая 2019

Вы можете сохранить идентификатор в данных:


<v-btn :id="btnId" flat small @click="idcheck(btnId)">Price</v-btn>


<script>
export default {
  data:()=>{
      btnId:'price'
  },
  methods: {
    idcheck(id){
    alert(id);
  }
}

</script>

...