Я пытаюсь получить мой код, похожий на этот jsFiddle , работающий.
Код в основном имеет onclick="vm.$refs.foo.addThing()"
вне экземпляра Vue (я не мог изменить так, как он есть), который вызывает функцию в methods
.
Vue.
Однако сейчас это не работает, и я не понимаю, почему это так.
HomeView.vue
var MyComponent = Vue.extend({
template: '<div><p>Hello</p><ul><li v-for="thing in things">{{ thing }}</li></ul></div>',
data: function() {
return {
things: ['first thing']
};
},
methods: {
addThing: function() {
this.things.push('another thing ' + this.things.length);
}
}
});
var vm = new Vue({
el: '#app',
components: {
'my-component': MyComponent
}
});
HTML
<div id="app">
<h1>Component Test</h1>
<my-component ref="foo"></my-component>
</div>
<button onclick="vm.$refs.foo.addThing()">External Button</button>