Я хочу передать функцию в шаблон Ractive и вызывать ее, когда в компоненте есть какое-то действие. Каков наилучший способ сделать это?Как передать функцию активным компонентам?
ответ
Существует несколько способов сделать это.
Вы можете предоставить метод
const Component = Ractive.extend({
template: `
<button type="button" on-click="@this.myMethod()">Click Me</button>
`,
myMethod: function() {
console.log('Hello World!');
}
});
new Component({
el: 'body'
});
<script src="https://unpkg.com/ractive/ractive.min.js"></script>
Или прикрепить прослушиватель событий в одном из событий жизненного цикла
const Component = Ractive.extend({
template: `
<button type="button" on-click="someevent">Click Me</button>
`,
oninit: function() {
this.on('someevent', function() {
console.log('Hello World!');
});
}
});
new Component({
el: 'body'
});
<script src="https://unpkg.com/ractive/ractive.min.js"></script>
теля Тяговый также поддерживает функцию передачи данных (буквально функцию внутри ваших данных)
const Component = Ractive.extend({
template: `
<button type="button" on-click="this.myDataFunction()">Click Me</button>
`,
data: {
myDataFunction: function(){
console.log('Hello World!');
}
}
});
new Component({
el: 'body'
});
<script src="https://unpkg.com/ractive/ractive.min.js"></script>
Если у вас есть функция на родительском компоненте, который вы хотите наречены компонента события ребенка, просто сгореть мероприятие дочерний компонент. Вы можете сделать это, назначив имя события или вручную, используя ractive.fire
(полезно, если вы хотите передать аргументы). Затем вы назначаете родительскому шаблону обработчик или метод события.
const Child = Ractive.extend({
template: `
<button type="button" on-click="customclick" on-mouseover="@this.fire('custommouseover', 'Hello', 'World')">Click Me</button>
`
});
const Parent = Ractive.extend({
components: { Child },
template: `
<Child on-customclick="@this.myMethod()" on-custommouseover="mouseovered" />
`,
myMethod: function(){
console.log('clicked');
},
oninit: function() {
this.on('mouseovered', function(foo, bar) {
console.log('mouseovered', foo, bar);
});
}
});
new Parent({
el: 'body'
});
<script src="https://unpkg.com/ractive/ractive.min.js"></script>
Вы можете смешивать и сочетать использование события, вызовы методов и функций данных, как вам нравится. Вы можете вызвать кнопку вызова метода, который в свою очередь вызывает ractive.fire
, имеет обработчик события, который вызывает ractive.fire
, назначает имя события, которое получает родитель, вызывает ractive.fire
непосредственно из шаблона и т. Д. Вы даже можете передать родительскую функцию как данные, и называть его как функцию данных для ребенка. Выберите все, что работает для вас.
- 1. Доступ к активным компонентам из их родителя
- 2. React.js как передать обратные вызовы дочерним компонентам?
- 3. Как передать данные компонентам Vue JS?
- 4. Как передать реквизиты дочерним компонентам в React
- 5. Как передать параметры частицам и компонентам?
- 6. Swing: передать события дочерним компонентам преобразованного родителя
- 7. Как передать функцию в функцию?
- 8. Как передать функцию функции?
- 9. Как передать переменную функцию?
- 10. Как передать функцию Enum.each?
- 11. Как передать функцию методу?
- 12. ReactJS - как передать «глобальные» данные глубоко вложенным дочерним компонентам?
- 13. Как передать реквизиты дочерним компонентам в дереве реактивного маршрутизатора
- 14. Как передать реквизиты нескольким немым компонентам - redux/reactJs?
- 15. Как правильно передать реквизиты атрибутов пользовательских данных дочерним компонентам?
- 16. Как передать данные от родительского к дочерним компонентам?
- 17. как передать функцию-член как функцию указателя?
- 18. Как передать функцию как параметры
- 19. Как передать функцию $ (this) в функцию?
- 20. Как передать функцию вывода на другую функцию
- 21. как передать функцию через предыдущую функцию? python
- 22. Как передать файл в функцию?
- 23. Как передать функцию в fprintf
- 24. Как передать функцию на Perl?
- 25. Как передать переменную в функцию
- 26. Как передать Button.Нажмите в функцию?
- 27. Как передать функцию шаблону Метеор?
- 28. Как передать функцию по ссылке?
- 29. Как передать ссылку на функцию
- 30. Как передать указатель на функцию?
У меня есть функция в родительском компоненте, и я хочу передать ее дочернему компоненту. – bawlo
@bawlo обновленный ответ. – Joseph