我有3個組件(get-users,get-projects,get-tasks) - 每個組件都包含一個按鈕,它會觸發一個ajax請求來檢索一些數據。我希望將從ajax請求返回的數據顯示在頁面上的第四個獨立組件(show-results)中。例如我如何在Vue中的父子組件之間共享數據
<div class="row">
<div class="col-md-6>
<get-users></get-users>
<get-projects></get-projects>
<get-tasks></get-tasks>
</div>
<div class="col-md-6>
<show-results></show-results>
</div>
</div>
一開始用戶組件:
<script>
export default {
template: require('./get_users.template.html'),
data: function() {
return {
userList: ''
}
},
methods: {
getUsers(e) {
e.preventDefault();
this.$http.get('api/getusers').then(function (response) {
this.userList = response.data.users; // How can I also pass this to the show-results component?
})
}
}
}
</script>
的Vue的實例/ decalaration
var Vue = require('vue');
Vue.use(require('vue-resource'));
import getUsers from './components/get_users.vue';
import getProjects from './components/get_projects.vue';
import getTasks from './components/get_tasks.vue';
import showResults from './components/show_results.vue';
new Vue ({
el: '#app',
components: { GetUsers, GetProjects, GetTasks, ShowResults },
})
由於節目,結果組件是不是父/子關係我的一部分不能使用API的$ broadcast或$ dispatch方法。
在完成ajax承諾時是否可以將數據從一個組件傳遞到另一個組件?
他們是在同一根Vue實例內? – nils
是的,他們是。我編輯了原帖以顯示Vue聲明。 –