watch监听路由$route的变化再次发起ajax请求
在Vue.js中,如果你想要监听路由的变化并再次发起AJAX请求,你可以使用watch
来监听$route
对象的变化。以下是一个简单的示例:
export default {
watch: {
// 监听路由对象的变化
'$route': {
handler: function (to, from) {
// 路由发生变化时,发起AJAX请求
this.fetchData();
},
// 如果需要深度监听路由对象的变化,可以设置deep选项为true
deep: true
}
},
methods: {
fetchData() {
// 发起AJAX请求的方法
this.$http.get('/api/data', { params: { /* 你的请求参数 */ } })
.then(response => {
// 处理响应数据
})
.catch(error => {
// 处理错误情况
});
}
},
created() {
// 组件创建时立即获取数据
this.fetchData();
}
};
在这个示例中,我们定义了一个watch
监听器来监听路由对象$route
的变化。当路由发生变化时,handler
函数会被调用,然后再次调用fetchData
方法来发起AJAX请求。这里假设你使用了Vue-resource或其他AJAX库来处理HTTP请求。记得在组件的created
钩子中首次调用fetchData
方法以确保在组件被创建时获取初始数据。
评论已关闭