欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp路由uni-simple-router使用示例

 更新時間:2023年07月10日 10:20:13   作者:小李不小  
這篇文章主要為大家介紹了uniapp路由uni-simple-router使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

要在uniapp中使用路由守衛(wèi),uniapp原生的api是比較欠缺的,所以要用‘uni-simple-router’插件包

安裝

// 項目根目錄執(zhí)行命令行  下載穩(wěn)定版本  
npm install uni-simple-router@2.0.7 
// 根據(jù)pages.json總的頁面,自動構(gòu)建路由表
npm install uni-read-pages

配置

vue.config.js

注:如果根目錄沒有vue.config.js文件,要手動創(chuàng)建

// vue.config.js
const TransformPages = require('uni-read-pages')
const { webpack } = new TransformPages()
module.exports = {
    configureWebpack: {
        plugins: [
            new webpack.DefinePlugin({
                ROUTES: webpack.DefinePlugin.runtimeValue(() => {
                    const tfPages = new TransformPages({
                        includes: ['path', 'name', 'aliasPath','meta']
                    });
                    return JSON.stringify(tfPages.routes)
                }, true)
            })
        ]
    }
}

router文件夾下對應的 js文件

寫如下代碼

import { RouterMount, createRouter } from 'uni-simple-router';
const router = createRouter({
    platform: process.env.VUE_APP_PLATFORM,
    routes: [...ROUTES]
});
//全局路由前置守衛(wèi)
router.beforeEach((to, from, next) => {
//權(quán)限控制登錄
    if(to.meta.auth){
        console.log("需要登錄");
        if("token"){
            next();
        }else{
            console.log("請登錄");
        }
    }else{
        console.log("不需要登錄");
         next();
    }
    console.log("前置守衛(wèi)"+JSON.stringify(to));
});
// 全局路由后置守衛(wèi)
router.afterEach((to, from) => {
    console.log('跳轉(zhuǎn)結(jié)束')
})
export {
    router,
    RouterMount
}

main.js

import {router,RouterMount} from './router/router.js'  //路徑換成自己的
Vue.use(router)
//v1.3.5起 H5端 你應該去除原有的app.$mount();使用路由自帶的渲染方式
// #ifdef H5
    RouterMount(app,router,'#app')
// #endif
// #ifndef H5
    app.$mount(); //為了兼容小程序及app端必須這樣寫才有效果
// #endif

page.json

    "pages": [ //pages數(shù)組中第一項表示應用啟動頁,參考:https://uniapp.dcloud.io/collocation/pages
        {
            "path": "pages/index/index",
            "name": "index",
            "style": {
                "navigationBarTitleText": "uni-app"
            }
        }, {
            "path": "pages/home/home",
            "name": "home",
            "meta": {
                "auth": false, //需要登錄
                "async": true, //是否同步
                "title": "首頁", //標題
                "group": "商城" //分組
            },
            "style": {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false
            }
        },{
            "path": "pages/haha/haha",
            "name": "haha",
            "meta": {
                "auth": true, //需要登錄
                "async": true, //是否同步
                "title": "首頁", //標題
                "group": "商城" //分組
            },
            "style": {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false
            }
        }
    ],
    "globalStyle": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
        "navigationBarBackgroundColor": "#F8F8F8",
        "backgroundColor": "#F8F8F8"
    }
}

頁面跳轉(zhuǎn)和參數(shù)接收

push()

pushTab() : 跳轉(zhuǎn)tar欄

replace() : 替換

replaceAll() : 替換所有

back() : 直接帶上數(shù)字返回第幾層

注意:path和query配合使用,而name和params配合使用

//通過name方式跳轉(zhuǎn)
this.$Router.push({
                    name: 'home',
                    params: {
                        name: 'Joseph',
                        age: 22
                    }
                })
------------------------------------
//通過path形式進行跳轉(zhuǎn)
this.$Router.push({
                     path: '/pages/haha/haha',
                        query: {
                            name: 'Josdep33333h',
                            age: 24
                        }
                })
-------------------------------------
//用uni形式跳轉(zhuǎn)到新頁面,并傳遞參數(shù)
uni.navigateTo({
                    url:'/pages/home/home?id=2&name=Josep33333h'
                });

獲取參數(shù)

    onLoad(option) {
            //原生獲取數(shù)據(jù)
                console.log("zz",option);
            // query傳參
                const query=this.$Route.query
                console.log(query);
                // params傳參
                const params=this.$Route.params
                console.log(params);
        }

以上就是uniapp路由uni-simple-router使用示例的詳細內(nèi)容,更多關(guān)于uniapp路由uni-simple-router的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 微信小程序全局配置及常用配置項詳解

    微信小程序全局配置及常用配置項詳解

    微信小程序中我們創(chuàng)建頁面時會自動創(chuàng)建四個文件分別為js文件,wxml文件wxss文件最后還有我們今天的主角配置文件,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置以及常用配置項的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • localStorage實現(xiàn)便簽小程序

    localStorage實現(xiàn)便簽小程序

    這篇文章主要為大家詳細介紹了localStorage實現(xiàn)便簽小程序的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 深入了解JavaScript中的函數(shù)式編程

    深入了解JavaScript中的函數(shù)式編程

    JavaScript是一門多范式的編程語言,其中函數(shù)式編程成為了一種受歡迎的范式之一,本文將帶您深入了解JavaScript函數(shù)式編程的核心概念和技術(shù),需要的可以參考一下
    2023-06-06
  • JS控制圖片等比例縮放的示例代碼

    JS控制圖片等比例縮放的示例代碼

    本篇文章主要是對JS控制圖片等比例縮放的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Javascript獲取數(shù)組中的最大值和最小值的方法匯總

    Javascript獲取數(shù)組中的最大值和最小值的方法匯總

    比較數(shù)組中數(shù)值的大小是比較常見的操作,下面同本文給大家分享四種放哪廣發(fā)獲取數(shù)組中最大值和最小值,對此感興趣的朋友一起學習吧
    2016-01-01
  • JavaScript聲明變量名的語法規(guī)則

    JavaScript聲明變量名的語法規(guī)則

    這篇文章主要給大家簡單介紹了JavaScript聲明變量名的語法規(guī)則,非常有助于大家學習javascript,有需要的小伙伴可以參考下。
    2015-07-07
  • JS判斷是否在微信瀏覽器打開的簡單實例(推薦)

    JS判斷是否在微信瀏覽器打開的簡單實例(推薦)

    下面小編就為大家?guī)硪黄狫S判斷是否在微信瀏覽器打開的簡單實例(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 詳解JWT token心得與使用實例

    詳解JWT token心得與使用實例

    這篇文章主要介紹了詳解JWT token心得與使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • js實現(xiàn)隨機抽獎

    js實現(xiàn)隨機抽獎

    這篇文章主要為大家詳細介紹了js實現(xiàn)隨機抽獎功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • js 瀏覽器事件介紹

    js 瀏覽器事件介紹

    瀏覽器事件指載入文檔直到該文檔被關(guān)閉期間的瀏覽器事件,如瀏覽器載入文檔事件onload、關(guān)閉該文檔事件onunload、瀏覽器失去焦點事件onblur、獲得焦點事件onfocus 等
    2012-03-03

最新評論