化繁为简的Watch
场景还原:1
2
3
4
5
6
7
8created(){
  this.getData()
},
watch: {
  inputValue(){
    this.getData()
  }
}
组件创建的时候我们获取一次列表数据,同时监听input框,每当发生变化的时候重新获取一次列表数据
优化:
首先,在watchers中,可以直接使用函数的字面量名称;其次,声明immediate:true表示创建组件时立马执行一次。1
2
3
4
5
6watch: {
  searchInputValue:{
    handler: 'fetchPostList',
    immediate: true
  }
}
DatePicker组件默认打开
iView DatePicker组件,设置:open="true"设置为默认打开。
并用
1  | <a href="javascript:void(0)"></a>  | 
隐藏默认的选择框。
.sync 修饰符
.sync实际上是一个语法糖,用于实现父子组件间的数据双向绑定   
用法:1
2
3
4
5
6
7
8//父组件
<child :childModalFlag.sync="showChildFlag"></child>
data() {
  return {
    showWeekFlag: false
  }
}
1  | //子组件  | 
DatePicker组件判空
element-ui DatePicker组件判空:
value === '' || value === null
Vuex 刷新失效
Vuex在刷新以后,存储的数据会恢复原始状态。
因为Vuex是管理状态的工具,不是做持久存储的。
改用sessionStorage或localStorage
DatePicker组件设置禁用范围
1  | <el-date-picker  | 
localhost改为IP地址
package.json中改为:
1  | "scripts": {  | 
config/index.js中改为:host: '10.4.0.217',
就可以在浏览器输入IP地址访问,局域网其他用户也可以访问
DatePicker 组件结束时间
取值时应取endTime+1
通过ajax获取数据放到Select 选择器下拉选项中
element-ui的Select组件
1  | data() {  | 
ajax回调里:
1  | let detail=[];  | 
template中:
1  | v-for="item in options.data"  | 
Vue中使用echarts
需放在
mounted中,因为需要取到DOM,不能放在created里。不能用
v-if,要用v-show,同理,DOM的问题。