在 webstorm 下,vue-cli3.0 创建的项目,其中 eslint 和 webstorm 的格式化代码冲突问题
// 代码 App.vue
这种地方,eslint 会要求顶头写,但是 webstorm 会加一行缩进,按照网上说去改 webstorm 格式化代码的设置,其实 webstorm 本身设置是没啥问题的,对着个问题起作用的其实是 eslint 的 plugin
// 安装 eslint 的 html plugin
npm i eslint-plugin-html -D
// 在 .eslintrc.js 文件中的 plugins 下添加 html
module.exports = {
....
// required to lint *.vue files
plugins: [
'vue', // 原来就有
'html' // 新增的
],
.....
}
vue-router 使用 history 模式下刷新时的404问题(2017-11-8)
由于是单页面应用,我们的页面只有一个index.html
,在应用内跳转时路径都是通过js的API模拟出来的,而刷新时服务器会去按照路径找文件,找不到就报了404,这是个后台问题,大致思路就是后台配置 把请求都重定向到index.html
页面的同时不改变 url
参考博客 Apache && nginx
参考博客 Apache && nginx
参考sf回答 tomcat
Vue中的EventBus(2017-10-8)
1.新建bus.js
import Vue from 'vue'
export var bus = new Vue()
2.App.vue里created方法里定义事件
import { bus } from 'bus.js'
// ...
created () {
bus.$on('tip', (text) => {
alert(text)
})
}
3.Test.vue组件内调用
import { bus } from 'bus.js'
// ...
bus.$emit('tip', '123')
Vue官方api
segmentfault——关于vue中$emit事件问题
关于页面间通讯,回调多次触发,可以参考
vue中eventbus被多次触发(vue中使用eventbus踩过的坑)
Axios 发送 options 请求 403(2017-9-28)
解决方法:
1.服务器端支持 options
2.使用 URLSearchParams 装 post 用的参数(兼容性极差)
3.使用 qs
库来对数据进行编码
// 使用 URLSearchParams 装 post 用的参数(兼容性极差)
var params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);
URLSearchParams参考资料
// 使用 `qs` 库来对数据进行编码(推荐)
// var qs = require('qs');
import qs from 'qs'
axios.post('/foo', qs.stringify({ 'bar': 123 }));
axios文档
template 有时会使 element-ui 的 el-form-item 的验证失效
以下代码中某一个 el-form-item
会验证失效