我正在尝试修复 VueJS SPA 中出现边缘状态的行为。应用程序不知道 JWT 已过期,因此会显示为用户仍处于登录状态。例如,这可能会在休眠后发生。
这些用户可以继续向 API发出任何401请求,但最终会得到响应(而且是正确的)。
我想要一个全局401响应处理程序。(这将是:“从 vuex 中清除所有与用户相关的内容,并像用户是访客一样显示页面,并弹出登录表单等。”)否则,我将不得不为每个请求编写一个 401 处理程序。
我可以向 axios 添加响应拦截器,它们工作得很好。不过,这些拦截器无法访问 Vuex(或 Vue)。
每当我尝试将 Vuex 或 Vue 导入到我的 Axios 中时,我都会得到循环依赖(当然)并且一切都会崩溃。
如果我只是抛出/返回错误,我仍然必须对每个请求单独处理它。如何this.$store从 axios 拦截器内分派方法?
Axios 文件包含一个export default class API全局添加到 Vue 的文件main.js:
import api from 'Api/api'
// ...
Vue.prototype.$http = api
Run Code Online (Sandbox Code Playgroud)
我原以为必须有一种方法可以访问Vuefrom $http,因为它是一个全局实例方法。但我好像误会了?
main.js
// ...
import api from 'Api/api'
// ...
Vue.prototype.$http = api
new Vue({
el: …Run Code Online (Sandbox Code Playgroud) 我希望在可变宽度的线后面有一个图标(选中标记).如果该行变得太长,我希望它用省略号截断.但是勾选标记应该保留在省略号之后
https://jsfiddle.net/Lkvt39re/
.inner {
width: 80%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)
我将宽度设置为80%,并希望:after在省略号之后插入..well.
我怎样才能做到这一点?
谢谢