本文为博主原创,未经允许不得转载:
异常展示:
[Vue warn]: Error in getter for watcher "filterAndSortData": "TypeError: Cannot read property 'length' of null" found in ---> <UxTable>
<UxCol>
<UxRow>
<CustomerDomainCofigDetail> at src/web/manage/customerManage/CustomerDomainCofigDetail.vue
<ElMain>
<ElContainer>
<MainAdmin> at src/web/manage/MainAdmin.vue
<App> at src/app.vue
<Root>
warn @ vue.esm.js?efeb:591
logError @ vue.esm.js?efeb:1737
globalHandleError @ vue.esm.js?efeb:1732
handleError @ vue.esm.js?efeb:1721
get @ vue.esm.js?efeb:3145
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
Promise.then (async)
microTimerFunc @ vue.esm.js?efeb:1806
nextTick @ vue.esm.js?efeb:1850
queueWatcher @ vue.esm.js?efeb:3068
update @ vue.esm.js?efeb:3209
notify @ vue.esm.js?efeb:697
reactiveSetter @ vue.esm.js?efeb:1014
proxySetter @ vue.esm.js?efeb:3300
(anonymous) @ CustomerDomainCofigDetail.vue?6300:488
Promise.then (async)
initData @ CustomerDomainCofigDetail.vue?6300:482
created @ CustomerDomainCofigDetail.vue?6300:627
callHook @ vue.esm.js?efeb:2921
Vue._init @ vue.esm.js?efeb:4630
VueComponent @ vue.esm.js?efeb:4798
createComponentInstanceForVnode @ vue.esm.js?efeb:4310
init @ vue.esm.js?efeb:4131
createComponent @ vue.esm.js?efeb:5608
createElm @ vue.esm.js?efeb:5555
updateChildren @ vue.esm.js?efeb:5845
patchVnode @ vue.esm.js?efeb:5936
patch @ vue.esm.js?efeb:6096
Vue._update @ vue.esm.js?efeb:2670
updateComponent @ vue.esm.js?efeb:2788
get @ vue.esm.js?efeb:3142
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
vue.esm.js?efeb:1741 TypeError: Cannot read property 'length' of null
at recursiveRows (utils.js?8c28:43)
at normalizeRows (utils.js?8c28:61)
at VueComponent.normalizeData (table.js?7ae6:141)
at Watcher.get (vue.esm.js?efeb:3142)
at Watcher.evaluate (vue.esm.js?efeb:3249)
at VueComponent.computedGetter [as normalizeData] (vue.esm.js?efeb:3507)
at VueComponent.filterAndSortData (table.js?7ae6:180)
at Watcher.get (vue.esm.js?efeb:3142)
at Watcher.evaluate (vue.esm.js?efeb:3249)
at VueComponent.computedGetter [as filterAndSortData] (vue.esm.js?efeb:3507)
logError @ vue.esm.js?efeb:1741
globalHandleError @ vue.esm.js?efeb:1732
handleError @ vue.esm.js?efeb:1721
get @ vue.esm.js?efeb:3145
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
Promise.then (async)
microTimerFunc @ vue.esm.js?efeb:1806
nextTick @ vue.esm.js?efeb:1850
queueWatcher @ vue.esm.js?efeb:3068
update @ vue.esm.js?efeb:3209
notify @ vue.esm.js?efeb:697
reactiveSetter @ vue.esm.js?efeb:1014
proxySetter @ vue.esm.js?efeb:3300
(anonymous) @ CustomerDomainCofigDetail.vue?6300:488
Promise.then (async)
initData @ CustomerDomainCofigDetail.vue?6300:482
created @ CustomerDomainCofigDetail.vue?6300:627
callHook @ vue.esm.js?efeb:2921
Vue._init @ vue.esm.js?efeb:4630
VueComponent @ vue.esm.js?efeb:4798
createComponentInstanceForVnode @ vue.esm.js?efeb:4310
init @ vue.esm.js?efeb:4131
createComponent @ vue.esm.js?efeb:5608
createElm @ vue.esm.js?efeb:5555
updateChildren @ vue.esm.js?efeb:5845
patchVnode @ vue.esm.js?efeb:5936
patch @ vue.esm.js?efeb:6096
Vue._update @ vue.esm.js?efeb:2670
updateComponent @ vue.esm.js?efeb:2788
get @ vue.esm.js?efeb:3142
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
vue.esm.js?efeb:591 [Vue warn]: Error in render: "TypeError: Cannot read property 'length' of null" found in ---> <UxTable>
<UxCol>
<UxRow>
<CustomerDomainCofigDetail> at src/web/manage/customerManage/CustomerDomainCofigDetail.vue
<ElMain>
<ElContainer>
<MainAdmin> at src/web/manage/MainAdmin.vue
<App> at src/app.vue
<Root>
warn @ vue.esm.js?efeb:591
logError @ vue.esm.js?efeb:1737
globalHandleError @ vue.esm.js?efeb:1732
handleError @ vue.esm.js?efeb:1721
Vue._render @ vue.esm.js?efeb:4546
updateComponent @ vue.esm.js?efeb:2788
get @ vue.esm.js?efeb:3142
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
Promise.then (async)
microTimerFunc @ vue.esm.js?efeb:1806
nextTick @ vue.esm.js?efeb:1850
queueWatcher @ vue.esm.js?efeb:3068
update @ vue.esm.js?efeb:3209
notify @ vue.esm.js?efeb:697
reactiveSetter @ vue.esm.js?efeb:1014
proxySetter @ vue.esm.js?efeb:3300
(anonymous) @ CustomerDomainCofigDetail.vue?6300:488
Promise.then (async)
initData @ CustomerDomainCofigDetail.vue?6300:482
created @ CustomerDomainCofigDetail.vue?6300:627
callHook @ vue.esm.js?efeb:2921
Vue._init @ vue.esm.js?efeb:4630
VueComponent @ vue.esm.js?efeb:4798
createComponentInstanceForVnode @ vue.esm.js?efeb:4310
init @ vue.esm.js?efeb:4131
createComponent @ vue.esm.js?efeb:5608
createElm @ vue.esm.js?efeb:5555
updateChildren @ vue.esm.js?efeb:5845
patchVnode @ vue.esm.js?efeb:5936
patch @ vue.esm.js?efeb:6096
Vue._update @ vue.esm.js?efeb:2670
updateComponent @ vue.esm.js?efeb:2788
get @ vue.esm.js?efeb:3142
run @ vue.esm.js?efeb:3219
flushSchedulerQueue @ vue.esm.js?efeb:2981
(anonymous) @ vue.esm.js?efeb:1837
flushCallbacks @ vue.esm.js?efeb:1758
vue.esm.js?efeb:1741 TypeError: Cannot read property 'length' of null
at recursiveRows (utils.js?8c28:43)
at normalizeRows (utils.js?8c28:61)
at VueComponent.normalizeData (table.js?7ae6:141)
at Watcher.get (vue.esm.js?efeb:3142)
at Watcher.evaluate (vue.esm.js?efeb:3249)
at VueComponent.computedGetter [as normalizeData] (vue.esm.js?efeb:3507)
at VueComponent.spinClasses (table.js?7ae6:313)
at Watcher.get (vue.esm.js?efeb:3142)
at Watcher.evaluate (vue.esm.js?efeb:3249)
at Proxy.computedGetter (vue.esm.js?efeb:3507)
该异常原因:由于在页面加载数据初始化的时候,定义了一个数组的数据类型,从后台获取数据初始化给该变量赋值,由于后台返回数据为null,将其赋值给数组的时候就报错了,
解决方法:在赋值的时候加一层为空的判断和校验即可解决