uni-app控制元件學習總結
阿新 • • 發佈:2021-12-16
控制元件: 1、navigator頁面跳轉 //關閉當前頁面,返回上一頁面或多級頁面 <navigator open-type="navigateBack"> </navigator>
2、將 data 儲存在本地快取中指定的 key 中,從本地快取中非同步獲取指定 key 對應的內容 //data儲存本地快取key uni.setStorageSync(KEY,DATA) 例: uni.setStorageSync('storage_key', 'hello'); //從本地快取中非同步獲取指定 key 對應的內容 uni.getStorage(OBJECT) 例: uni.getStorage({ key:'storage_key', success: function (res) { console.log(res.data); } });
3、跳轉請求和訊息框 //關閉所有頁面,開啟到應用內的某個頁面 uni.reLaunch({ url: '/pages/catalog/catalog' }); //發起網路請求 uni.request({ url: 'https://www.example.com/request', data: { text: 'uni.request' //自定義請求頭資訊 }, header: { 'custom-header': 'hello' }, success: (res) => { console.log(res.data); this.text = 'request success'; } }); //顯示訊息提示框 uni.showToast({ position: 'bottom', title: "登入失敗", icon: 'none', })
4、uniapp中@tap和@click的區別 //在HbuilderX中,兩者都是點選時觸發事件;不同的是: @click是元件被點選時觸發,會有約300ms的延遲(內建處理優化了); @tap是手指觸控離開時觸發,沒有300ms的延遲,但是會有事件穿透; 編譯到小程式端,@click會被轉換成@tap;
5、自動更新思路 //呼叫本地應用資源版本號 plus.runtime.getProperty(plus.runtime.appid,function(inf){ Console.log(“當前應用版本 :”+inf.version+”--”+plus.runtime.version ); }); //呼叫第三方程式開啟指定的URL(做自動更新用) plus.runtime.openURL(url); //總結 1、自動更新,獲取json檔案版號資訊 。 2、獲取app版本號plus.runtime.getProperty。 3、如果json版本號大於app版本號。 4、plus.runtime.openURL呼叫瀏覽器開啟指定app安裝包。
5、跳轉 uni.navigateTo 保留當前頁面,跳轉到應用內的某個頁面,使用uni.navigateBack可以返回到原頁面。 //在起始頁面跳轉到test.vue頁面並傳遞引數 uni.navigateTo({ url: 'test?id=1&name=uniapp' }); //在test.vue頁面接收引數 export default { onLoad: function (option) { //option為object型別,會序列化上個頁面傳遞的引數 console.log(option.id); //打印出上個頁面傳遞的引數。 console.log(option.name); //打印出上個頁面傳遞的引數。 } } //uni.navigateTo()和uni.reLaunch()跳轉區別 uni.navigateTo()跳轉後有返回鍵。 uni.reLaunch()跳轉後關閉上一級頁面,沒有返回鍵。
6、uniapp中使用openlayers <template> <view class="containerMap"> <view id="olMap" class="olMap"> </view> </view> </view> </template> <script module="ol" lang="renderjs"> export default { data() { return { map: null, } }, if (typeof window.ol === 'function') { this.initAmap() } else { const link = document.createElement('link') link.rel = "stylesheet" link.href = 'static/plugins/ol/ol.css' //可以通過此方式匯入jquery,echart庫 document.head.appendChild(link) const script = document.createElement('script') script.src = 'static/plugins/ol/ol.js' //可以通過此方式匯入jquery,echart庫 script.onload = this.initAmap.bind(this) document.head.appendChild(script) } methods: {
this.map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: "olMap",
view: new ol.View({
zoom: 18,
center: [114, 25],
projection: "EPSG:4326"
})
})
}
<script>
本文來自部落格園,作者:A江鎏,轉載請註明原文連結:https://www.cnblogs.com/dongzi1997/p/15699321.html