Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / vue js название обработчика события из переменной / 5 сообщений из 5, страница 1 из 1
26.10.2018, 14:58
    #39723561
_konstantine_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vue js название обработчика события из переменной
Здравствуйте пишу на 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
26.10.2018, 15:59
    #39723605
_konstantine_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vue js название обработчика события из переменной
_konstantine_,

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

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

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

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

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

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

или

3. Сделать отдельный компонент для кнопки и уже в нём определить в секции methods функцию для обработки нажатия.
...
Рейтинг: 0 / 0
29.10.2018, 11:22
    #39724353
SQLPowerUser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vue js название обработчика события из переменной
_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
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / vue js название обработчика события из переменной / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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