待整理

204 阅读1分钟

1、跨域浏览器设置 2、vuex在ts项目 中使用 结合vuex-class index.js

import Vue from 'Vue'; import Vuex from 'vuex';

import example from './moudule/example;

Vue.use(vuex);

export default new Vuex.Store({ state:{}, mutations:{}, actions:{}, modules:{ example } })

example.js

import actions from './actions'

const defaultState = { exampleText:'tex', exampleList:[] }

export default { namespaced:true, state:{...defaultState}, getters:{}, mutations:{ changeState(state,payload){ state.exampleList = payload; } }, actions }

actions.js

const fetchList = async (store,playload)=>{ try{ const res = await fetch(...,playload) store.commit('changeState',res.data.list) } catch {

}

} export default { fetchList }

vue项目使用

import {Vue,Component,Watch} from 'vue-property-decorator'; import {namespace} from 'vuex-class';

example是注册的模块

const exampleModule = namespace('example')

@Component() export default class my extends Vue {

@exampleModule.state('exampleText') text:any;

@exampleModule.state exampleList:any;

@exampleModule.mutution changeState:any

}

3/跨域浏览器,登录反复跳转

www.chromestatus.com/feature/508… www.chromestatus.com/feature/563…

chrome80+版本,默认 屏蔽所有第三方cookie,即所有cookie加上了sameSite=Lax属性,并且拒绝非secure的cookie设置为samesite=none,这样是为了从源头防止CSRF漏洞 4/中断axios请求并且 保证不报错