前文我们知道,在vue单文件组件中,最终会导出一个对象。
vue已经为我们预先指定好了这个对象一些选项,如data, components, methods, computed, watch, mixins, filters, 钩子函数等等。本文我们将从组件的使用场景出发,详解这些属性和方法的用法。
组件内部属性
这里的内部指的是,组件自用的,不与外部产生交互的属性。如果我们想构造出一个不与外部交互的静态页面,那么只使用这里的选项就可以了。
data用于保存组件内部状态
对于一个组件,它独有的内部状态全部保存在data中。组件被创建后,你可以在任何地方更改data中的状态。与状态绑定的一切都会跟随状态的变化响应式地变化:绑定的DOM会重新渲染,绑定的计算属性(computed)会自动更新,对应的观察者(watch)会自动执行。
前文我们知道,在vue单文件组件中,最终会导出一个对象。
vue已经为我们预先指定好了这个对象一些选项,如data, components, methods, computed, watch, mixins, filters, 钩子函数等等。本文我们将从组件的使用场景出发,详解这些属性和方法的用法。
组件内部属性
这里的内部指的是,组件自用的,不与外部产生交互的属性。如果我们想构造出一个不与外部交互的静态页面,那么只使用这里的选项就可以了。
data用于保存组件内部状态
对于一个组件,它独有的内部状态全部保存在data中。组件被创建后,你可以在任何地方更改data中的状态。与状态绑定的一切都会跟随状态的变化响应式地变化:绑定的DOM会重新渲染,绑定的计算属性(computed)会自动更新,对应的观察者(watch)会自动执行。
{{content}}
hello world
|
|
//logTimeInterval.js
import moment from ‘moment’;
import { LOG_INTERVAL } from ‘@/constants/application’;
export default {
data() {
return {
LOG_INTERVAL,
interval: LOG_INTERVAL.ONEWEEK.type,
};
},
computed: {
targetTimeInterval() {
const { time, unit } = LOG_INTERVAL[this.interval];
return {
from: moment().subtract(time, unit).valueOf(),
to: moment().valueOf(),
};
},
},
};
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.js’;
export default {
mixins: [logTimeInterval],
data() {
return {
content: ‘timeInterval:’,
};
},
};
//logTimeInterval.vue
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.vue’;
export default {
extends: logTimeInterval,
data() {
return {
content: ‘timeInterval:’,
};
},
}
```
hello world
|
|
//logTimeInterval.js
import moment from ‘moment’;
import { LOG_INTERVAL } from ‘@/constants/application’;
export default {
data() {
return {
LOG_INTERVAL,
interval: LOG_INTERVAL.ONEWEEK.type,
};
},
computed: {
targetTimeInterval() {
const { time, unit } = LOG_INTERVAL[this.interval];
return {
from: moment().subtract(time, unit).valueOf(),
to: moment().valueOf(),
};
},
},
};
//组件
前文我们知道,在vue单文件组件中,最终会导出一个对象。
vue已经为我们预先指定好了这个对象一些选项,如data, components, methods, computed, watch, mixins, filters, 钩子函数等等。本文我们将从组件的使用场景出发,详解这些属性和方法的用法。
组件内部属性
这里的内部指的是,组件自用的,不与外部产生交互的属性。如果我们想构造出一个不与外部交互的静态页面,那么只使用这里的选项就可以了。
data用于保存组件内部状态
对于一个组件,它独有的内部状态全部保存在data中。组件被创建后,你可以在任何地方更改data中的状态。与状态绑定的一切都会跟随状态的变化响应式地变化:绑定的DOM会重新渲染,绑定的计算属性(computed)会自动更新,对应的观察者(watch)会自动执行。
{{content}}
hello world
|
|
//logTimeInterval.js
import moment from ‘moment’;
import { LOG_INTERVAL } from ‘@/constants/application’;
export default {
data() {
return {
LOG_INTERVAL,
interval: LOG_INTERVAL.ONEWEEK.type,
};
},
computed: {
targetTimeInterval() {
const { time, unit } = LOG_INTERVAL[this.interval];
return {
from: moment().subtract(time, unit).valueOf(),
to: moment().valueOf(),
};
},
},
};
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.js’;
export default {
mixins: [logTimeInterval],
data() {
return {
content: ‘timeInterval:’,
};
},
};
//logTimeInterval.vue
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.vue’;
export default {
extends: logTimeInterval,
data() {
return {
content: ‘timeInterval:’,
};
},
}
```
import logTimeInterval from ‘./logTimeInterval.js’;
export default {
mixins: [logTimeInterval],
data() {
return {
content: ‘timeInterval:’,
};
},
};
//logTimeInterval.vue
//组件
前文我们知道,在vue单文件组件中,最终会导出一个对象。
vue已经为我们预先指定好了这个对象一些选项,如data, components, methods, computed, watch, mixins, filters, 钩子函数等等。本文我们将从组件的使用场景出发,详解这些属性和方法的用法。
组件内部属性
这里的内部指的是,组件自用的,不与外部产生交互的属性。如果我们想构造出一个不与外部交互的静态页面,那么只使用这里的选项就可以了。
data用于保存组件内部状态
对于一个组件,它独有的内部状态全部保存在data中。组件被创建后,你可以在任何地方更改data中的状态。与状态绑定的一切都会跟随状态的变化响应式地变化:绑定的DOM会重新渲染,绑定的计算属性(computed)会自动更新,对应的观察者(watch)会自动执行。
{{content}}
hello world
|
|
//logTimeInterval.js
import moment from ‘moment’;
import { LOG_INTERVAL } from ‘@/constants/application’;
export default {
data() {
return {
LOG_INTERVAL,
interval: LOG_INTERVAL.ONEWEEK.type,
};
},
computed: {
targetTimeInterval() {
const { time, unit } = LOG_INTERVAL[this.interval];
return {
from: moment().subtract(time, unit).valueOf(),
to: moment().valueOf(),
};
},
},
};
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.js’;
export default {
mixins: [logTimeInterval],
data() {
return {
content: ‘timeInterval:’,
};
},
};
//logTimeInterval.vue
//组件
{{content}}
{{targetTimeInterval}}
import logTimeInterval from ‘./logTimeInterval.vue’;
export default {
extends: logTimeInterval,
data() {
return {
content: ‘timeInterval:’,
};
},
}
```
import logTimeInterval from ‘./logTimeInterval.vue’;
export default {
extends: logTimeInterval,
data() {
return {
content: ‘timeInterval:’,
};
},
}
```