Comment appeler la vue de test en javascript? Voici mon code, je veux appeler test lorsque je fais quelque chose en fonction javascript.
function clickit() {
this.test.fetchTestData();
}
var test = new Vue({
el: '#viewport',
data: {
test_data: []
},
mounted: function () {
this.fetchTestData();
},
methods: {
fetchTestData: function () {
$.get(test.json, function (data) {
this.test_data = data;
alert(this.test_data.isActive);
});
}
}
});
Vous essayez d'utiliser this
dans clickit()
, où this
fait référence à window
. Il vous suffit donc de supprimer this
pour appeler la méthode à l'intérieur du modèle de vue:
function clickit() {
test.fetchTestData();
}
Je crains que vous n’ayez pas utilisé Google. Après avoir cherché le titre de votre message sur Google, vous trouverez des réponses claires: Appelez une méthode de composant Vue JS de l’extérieur du composant
https://laracasts.com/discuss/channels/vue/use-objects-outside-vue
Référence rapide: E.g.
Avoir un compenent inscrit sur mon instance parent:
var vm = new Vue({
el: '#app',
components: { 'my-component': myComponent }
});
Rendez le composant dans template/html avec une référence:
<my-component ref="foo"></my-component>
Maintenant, ailleurs, je peux accéder au composant à l'extérieur
<script>
vm.$refs.foo.doSomething(); //assuming my component has a doSomething() method
</script>