spacenear
@spacenear
React Web Developer

Как передать параметр в функцию props во VUE?

Есть такой код
<button-ui :classes="['details-button', 'secondary']" title="Описание"
				           :click-handler="openModal"></button-ui>

функция openModal определена в компоненте VUE
const app = new Vue({
	el: '#app',
	store,
	methods: {
		openModal(value) {
			console.log(value);
		}
	},
});


Как мне передать какой то параметр со строкой, что бы он вывелся в console.log в данном примере?
По идее я думал как то так - но это не работает
<button-ui :classes="['details-button', 'secondary']" title="Описание"
				           :click-handler="openModal('test')"></button-ui>
  • Вопрос задан
  • 527 просмотров
Решения вопроса 1
spacenear
@spacenear Автор вопроса
React Web Developer
Придумал решение сам - можно соседним props передать массив аргументов и внутри компонента уже оператором спрэд развернуть их в аргументы функции.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dGololobov
начинающий
Попробуйте так:
<button-ui :classes="['details-button', 'secondary']" title="Описание"
                   @click="openModal('test')"></button-ui>
Ответ написан
@katyamishha
Front-end junior
Не знаю, у меня даже в таком ключе все выводит в консоль
<body>
  <div id="app">
    {{ message}}
    <button-ui :classes="['details-button', 'secondary']" title="Описание" :click-handler="openModal('test')">
    </button-ui>
  </div>
  <script>
    Vue.component('button-ui', {
      data: function () {
        return {
          count: 0
        }
      },
      template: '<button>жми</button>'
    })
    new Vue({
      el: "#app",
      data: {
        message: 'You loaded this page on ' + new Date().toLocaleString()
      },
      methods: {
        openModal(value) {
          console.log(value);
        }
      }
    })

  </script>
</body>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы