powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / vue js название обработчика события из переменной
5 сообщений из 5, страница 1 из 1
vue js название обработчика события из переменной
    #39723561
Фотография _konstantine_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте пишу на vue.js

Код: javascript
1.
2.
3.
4.
5.
6.
7.
<button v-for="btnItem in row"
             v-bind:key="btnItem.name" 
             v-on:click.prevent= btnItem.op
             class="calaculator-form__btn">

             <span class="calaculator-form__btn-inner">{{btnItem.name}}</span>
</button>



не могу повесить обработчик события, т.к. vue считает что btnItem.op это строка, если написать "btnItem.op", то тоже.
вообщем вопрос: как вытащить значение из переменной btnItem.op ?
...
Рейтинг: 0 / 0
vue js название обработчика события из переменной
    #39723605
Фотография _konstantine_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_konstantine_,

у меня вопрос
а так вообще можно?
и второй
как повесить разные обработчики событий на разные кнопки?
...
Рейтинг: 0 / 0
vue js название обработчика события из переменной
    #39723712
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_konstantine_,

можно. Посмотрите в сторону делегирования .

На vue.js такую операцию
Код: javascript
1.
click.prevent= btnItem.op

можно провернуть. Если получится, в выходные гляну, там вроде несложно...
...
Рейтинг: 0 / 0
vue js название обработчика события из переменной
    #39723965
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе все функции для вызова из UI надо определить в секции methods.

Отсюда следует, что:

1. Тебе надо определить "op" (чтобы это не значило) в секции methods компонента.
2. Тебе надо замутить что-то типа op(buttonID) и по нему определять, что надо сделать.

или

3. Сделать отдельный компонент для кнопки и уже в нём определить в секции methods функцию для обработки нажатия.
...
Рейтинг: 0 / 0
vue js название обработчика события из переменной
    #39724353
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_konstantine_,

присоединяюсь к Агнец за бортом

Примерчик, если я правильно понял задание
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<div id="main">
	<button
		v-for="btnItem in row"
		:key="btnItem.name"
		@click.stop="btnItem.op">
		{{btnItem.name}}
	</button>
</div>

<script>
'use strict';
function init() {
	var appMain = new Vue({
		el: '#main',
		data: {
			row: [
				{name: 'Button 01', op: op01},
				{name: 'Button 02', op: op02},
				{name: 'Button 03', op: op03},
			],
		},
	}); // appMain
	
	function op01() {
		alert('Message from op01');
	}
	function op02() {
		alert('Some op02');
	}
	function op03() {
		alert('Yes op03');
	}
} // init

document.body.onload = init;
</script>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / vue js название обработчика события из переменной
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]