123456789101112131415161718192021222324252627282930313233 |
- import Dict from './Dict'
- import { mergeOptions } from './DictOptions'
- export default function(Vue, options) {
- mergeOptions(options)
- Vue.mixin({
- data() {
- if (this.$options === undefined || this.$options.dicts === undefined || this.$options.dicts === null) {
- return {}
- }
- const dict = new Dict()
- dict.owner = this
- return {
- dict
- }
- },
- created() {
- if (!(this.dict instanceof Dict)) {
- return
- }
- options.onCreated && options.onCreated(this.dict)
- this.dict.init(this.$options.dicts).then(() => {
- options.onReady && options.onReady(this.dict)
- this.$nextTick(() => {
- this.$emit('dictReady', this.dict)
- if (this.$options.methods && this.$options.methods.onDictReady instanceof Function) {
- this.$options.methods.onDictReady.call(this, this.dict)
- }
- })
- })
- },
- })
- }
|