1. 程式人生 > 其它 >快應用如何避免讀取undefined變數的屬性導致報錯

快應用如何避免讀取undefined變數的屬性導致報錯

現象描述

這是JS開發中常見的錯誤。對一個值為null或undefined的變數取屬性就會報錯。例如:

1 2 3 <!--a={};--> <text>{{a.b.c}}</text> <!--Error:Cannotreadproperty'c'ofundefined-->

解決方法

1、&&方法,通過邏輯運算的執行順序來規避錯誤。程式碼如下:

app.ux程式碼如下:

1 <text>{{a&&a.b&&a.b.c}}</text
>

2、在ViewModel上增加函式方法

推薦方案2,在ViewModel上建立一個checkEmpty函式。示例程式碼如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 exportdefault{ checkEmpty(...args){ letret if(args.length>0){ ret=args.shift() lettmp while(ret&&args.length>0){ tmp=args.shift() ret=ret[tmp] } } returnret||false } }

這樣,就可以方便的呼叫了。

1 <text>{{checkEmpty(a,'b','c')}}</text>

原文連結:https://developer.huawei.com/...
原作者:Mayism