化繁为简的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的问题。