我正在开发我的第一个Nova领域。这是一个索引字段,其中包含一个发送Axios请求的按钮,返回响应时,我需要重新加载索引视图。
现在我明白了:
this.$router.go(this.$router.currentRoute);
问题在于它刷新了整个页面(就像按Cmd + R时一样,很难刷新)。我只想重新加载当前路由(这是资源的索引路由)。
我也尝试过:
this.$router.push({
name: 'index',
params: {
resourceName: this.resourceName,
},
});
但是由于我按了相同的路线,所以它什么也没做。
有什么想法吗?
谢谢,丹尼尔。
答案 0 :(得分:0)
您可以尝试这样的事情
let currentFilters = _.cloneDeep(this.$store.state[`${this.resourceName}`]['filters']);
await this.$store.commit(`${this.resourceName}/storeFilters`, {});
await this.$store.commit(`${this.resourceName}/storeFilters`, currentFilters);
此代码会将当前应用的过滤器重置为空对象,然后再次请求旧的过滤器,从而导致资源索引更新。但要小心-此方法向服务器发出两个请求。
在尝试实现自定义弹出窗口组件时,我现在面临着同样的问题-但这就是我可以在Nova vuex商店中实现的全部工作。