| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import Vue from 'vue';
- import App from './App';
- import contactButton from "@/components/contact-button/index";
- import updateUserinfo from '@/components/update-userinfo/index';
- import toUserinfo from '@/components/to-userinfo/index';
- import updateUserinfonew from '@/components/update-userinfonew/index';
- Vue.config.productionTip = false;
- Vue.component("contact-button", contactButton);
- Vue.component("update-userinfo", updateUserinfo);
- Vue.component("to-userinfo", toUserinfo);
- Vue.component("update-userinfonew", updateUserinfonew);
- Vue.mixin({
- methods: {
- setData: function(obj, callback) {
- let that = this;
- const handleData = (tepData, tepKey, afterKey) => {
- tepKey = tepKey.split('.');
- tepKey.forEach(item => {
- if (tepData[item] === null || tepData[item] === undefined) {
- let reg = /^[0-9]+$/;
- tepData[item] = reg.test(afterKey) ? [] : {};
- tepData = tepData[item];
- } else {
- tepData = tepData[item];
- }
- });
- return tepData;
- };
- const isFn = function(value) {
- return typeof value == 'function' || false;
- };
- Object.keys(obj).forEach(function(key) {
- let val = obj[key];
- key = key.replace(/\]/g, '').replace(/\[/g, '.');
- let front, after;
- let index_after = key.lastIndexOf('.');
- if (index_after != -1) {
- after = key.slice(index_after + 1);
- front = handleData(that, key.slice(0, index_after), after);
- } else {
- after = key;
- front = that;
- }
- if (front.$data && front.$data[after] === undefined) {
- Object.defineProperty(front, after, {
- get() {
- return front.$data[after];
- },
- set(newValue) {
- front.$data[after] = newValue;
- that.$forceUpdate();
- },
- enumerable: true,
- configurable: true
- });
- front[after] = val;
- } else {
- that.$set(front, after, val);
- }
- });
- // this.$forceUpdate();
- isFn(callback) && this.$nextTick(callback);
- }
- }
- });
- App.mpType = 'app';
- const app = new Vue({
- ...App
- });
- app.$mount();
|