Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
| js:vuejs:faq:call-methods-from-components [2018/06/09 20:08] – [Вызов через глобальный компонент EventBus] mirocow | js:vuejs:faq:call-methods-from-components [2018/06/09 20:48] (текущий) – [Через ссылки $refs] mirocow | ||
|---|---|---|---|
| Строка 222: | Строка 222: | ||
| </ | </ | ||
| + | === Внешний вызов через $refs === | ||
| + | |||
| + | <code html> | ||
| + | <div id=" | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <button id=" | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | var MyComponent = Vue.extend({ | ||
| + | template: '< | ||
| + | data: function() { | ||
| + | return { | ||
| + | things: [' | ||
| + | }; | ||
| + | }, | ||
| + | methods: { | ||
| + | addThing: function() { | ||
| + | this.things.push(' | ||
| + | } | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | var vm = new Vue({ | ||
| + | el: '# | ||
| + | components: { | ||
| + | ' | ||
| + | } | ||
| + | }); | ||
| + | |||
| + | document.getElementById(" | ||
| + | vm.$refs.foo.addThing(); | ||
| + | }; | ||
| + | </ | ||
| ==== Через системный вызов $bus ==== | ==== Через системный вызов $bus ==== | ||