ann0707
2018-08-16 c9bc8ec61cff4076132f6396d99d383a2cdf5a03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * TANGiMING  2018-3-21
 * 用于单文件组件在被重新激活或被打开时,遗留数据可能会造成污染的问题;
 * 可以将data中指定的数据进行初始化;
 * 尽量在单文件组件被冻结或被销毁时使用
 */
const initData = function(arr, self) {
    let arrLength = arr.length;
    for (let i = 0; i < arrLength; i++) {
        let item = arr[i];
        if (typeof self[item] === 'object' && !isNaN(self[item].length)) {
            self[item] = [];
            continue;
        }
        switch (typeof self[item]) {
            case 'string':
                self[item] = '';
                break;
            case 'number':
                self[item] = null;
                break;
            case 'object':
                self[item] = {};
                break;
            case 'undefined':
                console.error(`${item}不是正确的data属性!`);
                break;
        }
    }
};
export default initData;