1. 程式人生 > 其它 >uni-app控制元件學習總結

uni-app控制元件學習總結

控制元件:
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