Q-Logo 我的学习笔记分享

Entries for category "debug"

Vue 路由报错Navigating to current location ("/postlist/") is not allowed

局部解决

在报错的push 语句后面增加catch ,例如:

this.$router.push({ path: '/postlist/', query: { categories: cid } }).catch(err => err)

这样修改后,就不会再报上面的错误了。

全局解决

在导入vue-router之后,重写push方法增加catch 。具体就是在src/router/index.js 里面import Router from 'vue-router' 之后进行修改,例如:

import VueRouter from 'vue-router'

const stdPush = VueRouter.prototype.push

VueRouter.prototype.push = function push(location) {

return stdPush.call(this, location).catch(error=> error)

}

@Vue/CLI 开发前端项目时跨域访问后端服务器

当时用vue.js 作为前端框架进行开发时,一般是采用前后端分离的方式,在约定好接口的情况下,前端与后端可以分别各自独立开发。所谓分久必合,在开发到一定程度后,前后端需要联调时,就需要将两者结合起来,前端要通过ajax 方式向后端去请求数据。这时,往往就需要跨域请求数据,否则控制台可能会报带有“Access-Control-Allow-Origin”的错误。

解决办法是,编辑vue项目根目录下的vue.config.js文件(没有就自行创建一个),在devServer的proxy配置中跨域,详见本文内容。

Eclipse配置资源过滤器Resource Filter忽略不需要刷新的目录和文件

Eclipse 提供了资源过滤器(Resource Filters)配置,通过合理配置资源过滤器,就可以忽略不需要刷新的文件和目录,避免Eclipse 启动时花费大量时间在它们上面。

  • 在项目或目录上右键 --> Properties 打开属性对话框,点击Resource --> Resource filters
  • 点击Add Filter ,打开添加资源过滤器的对话框,根据需要设置过滤规则。过滤规则可以有多条,每次点击Add Filter都可以增加一条。
  • 确认规则无误后,点击OK按钮,回到属性对话框,可以看到前面配置的规则已经显示在Resource Filters列表中,点击Apply and Close 应用配置并关闭对话框。