【關鍵詞】
輕量級智能穿戴、LiteWearable、數據傳遞、全局變量
【問題描述】
開發輕量級智能穿戴LiteWearable應用,在app.js中定義全局變量,在頁面中通過this.$app.$def.xxx獲取時,報錯TypeError: Cannot read property '$def' of undefined
【問題分析】
經確認,LiteWearable暫不支持$def,只要是輕量級設備類型應用開發,均不支持$def,所以無法與其他手機等設備類型一樣,在app.js中定義與獲取全局變量
【問題解決與示例代碼】
方式一:若您需要在多個頁面獲取全局變量,可將變量進行數據存儲或文件存儲,參考文檔如下:
方式二:若您只需要在少數幾個頁面中進行數據傳遞,您可在頁面路由跳轉時,通過router.replace將參數傳遞到目標頁面,輕量級智能穿戴應用開發與其他設備類型不同,不能使用router.getParams方式獲取參數,傳遞和獲取參數方式參考如下步驟
以index頁面跳轉chartPage頁面,加載chart組件爲例:
步驟1:index頁面給組件綁定點擊事件goToChart方法,跳轉chartPage頁面,並將chart組件中需要的參數傳遞過去
步驟2:chartPage.js文件中定義相同名稱的變量:xAxisMin、xAxisMax、yAxisMin、yAxisMax,定義初始值,定義與頁面傳參時相同名稱變量,會將傳入參數值自動賦值到chartPage中定義參數;
定義chart組件顯示的參數lineOps,定義爲初始值即可
chartPage.html
步驟3:chartPage.js中onInit方法中直接使用xAxisMin、xAxisMax、yAxisMin、yAxisMax變量,重新賦值lineOps,刷新圖表,這樣就實現index頁面傳參到chartPage,並刷新圖表數據了。
【相關文檔】
- 輕量級智能穿戴頁面路由:
- 輕量級智能穿戴數據存儲與文件存儲:
- 輕量級智能穿戴chart組件:
欲瞭解更多更全技術文章,歡迎訪問https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh