国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue——vuex使用、Router使用、localstorage、sessionstorage和cookie

這篇具有很好參考價(jià)值的文章主要介紹了Vue——vuex使用、Router使用、localstorage、sessionstorage和cookie。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vuex使用

# vuex :狀態(tài)管理器---》存數(shù)據(jù)(變量)的地方,所有組件都可以操作
在Vue中實(shí)現(xiàn)集中式狀態(tài)(數(shù)據(jù))管理的一個(gè)Vue插件,對(duì)vue應(yīng)用中多個(gè)組件的共享狀態(tài)進(jìn)行集中式的管理(讀/寫),也是一種組件間通信的方式,且適用于任意組件間通信
<h1>1 vuex的使用 基本使用(操作state的數(shù)據(jù))</h1>
    購物車商品數(shù)量:{{ $store.state.num }}

methods:{
    handleAdd(){
      // 1 直接操作
      // this.$store.state.num += 1
      // 2 正統(tǒng)方式,通過dispatch觸發(fā)actions
      this.$store.dispatch('add',2)  //add 必須是action中得函數(shù)
    },
    add(name) {
      //1 直接操作
      // this.$store.state.goods.push(name)

      //2 正常套路
      this.$store.dispatch('addShopping', name)
    }
  },

export default new Vuex.Store({
    state: {
        num: 10,
        goods: [],
    },
    mutations: {
        mAdd(state,count){
            state.num += count
        },
        addShopping(state, name) {
            state.goods.push(name)
        }
    },
    actions: {
        // 至少要有一個(gè)參數(shù),context上下文對(duì)象,觸發(fā)mutations中函數(shù)執(zhí)行,或者直接該state中數(shù)據(jù)都可以
        add(context,count){
            // 使用commit,觸發(fā)mutations中得函數(shù)
            context.commit('mAdd',count)  // 會(huì)觸發(fā)mutations中得mAdd的執(zhí)行
        },
        addShopping(context, name) {
            // 這里起ajax請求,檢查name庫存夠不夠
            //假設(shè)庫存不夠,彈個(gè)不夠的消息
            // alert('庫存不夠了')
            // return
            context.commit('addShopping', name)
        }
    },
})

Vue——vuex使用、Router使用、localstorage、sessionstorage和cookie文章來源地址http://www.zghlxwxcb.cn/news/detail-477283.html

Router使用

# 提倡單頁面應(yīng)用,需要做頁面的跳轉(zhuǎn)---->借助于Router實(shí)現(xiàn)頁面組件的跳轉(zhuǎn)

# 1 簡單使用
	頁面跳轉(zhuǎn)
    寫個(gè)頁面組件
    在router--->index.js--->routes數(shù)組中加入一個(gè)路由即可
    
# 2 組件中實(shí)現(xiàn)頁面跳轉(zhuǎn)
	兩種方式
    	方式一:使用 router-link 標(biāo)簽,to=地址
        	<router-link to="/about"></router-link>
        方式二:js控制
        	this.$router.push('/about')
            
# 3 路由跳轉(zhuǎn)時(shí),可以使用對(duì)象
	1 通過對(duì)象跳轉(zhuǎn)路由name形式:<router-link :to="{name:'about'}"></router-link>
    2 通過對(duì)象跳轉(zhuǎn)路由path形式:<router-link :to="{path:'/about'}"></router-link>
    3 對(duì)象中可以有query屬性,是個(gè)對(duì)象類型,會(huì)把里面的key-value拼到路徑后面
    4 在另一個(gè)頁面中取出地址欄中數(shù)據(jù):console.log(this.$route.query)
    5 這種傳遞方式和 3  一樣 <router-link to="/about?name=lqz&age=19">
    6 注意區(qū)分:
    	this.$route:// 對(duì)象 表示當(dāng)前路由對(duì)象,里面有當(dāng)前路徑的地方,攜帶的參數(shù)
        this.$router:// 對(duì)象,new VueRouter的鍍錫,它主要用來做路由跳轉(zhuǎn)
        #### 例如
        console.log(this.$route.query)  // 地址欄中的數(shù)據(jù)
    	console.log(this.$route.query.name)  
   	7 路徑中分割出參數(shù)
    	配置:
        	{
                path:'/detail/:pk',
                name: 'detail',
            	component: DetailView
            },
        在路由中取:
        	this.$route.params.pk
    8 路由跳轉(zhuǎn)時(shí),使用 7 的樣子
    	<router-link :to="{name:'detail',params:{pk:1}}">
    	this.$router.push({name:'detail',params:{pk:1}})
        
# 4 this.router 的一些方法
	this.$router.push(path) 相當(dāng)于點(diǎn)擊路由鏈接(可以返回到當(dāng)前路由界面)
    this.$router.replace(path): 用新路由替換當(dāng)前路由(不可以返回到當(dāng)前路由界面)
    this.$router.back(): 請求(返回)上一個(gè)記錄路由
    this.$router.go(-1): 請求(返回)上一個(gè)記錄路由
    this.$router.go(1): 請求下一個(gè)記錄路由

多級(jí)路由

# 使用步驟
	1 新建一個(gè)頁面組件(XxxView),配置路由
    	{
            path: '/xxx',
            name: 'xxx',
            component: XxxView,
        },
    2 在頁面中,想再顯示頁面組件,實(shí)現(xiàn)點(diǎn)擊切換的效果
    		<h1>lqz頁面</h1>
            <router-link to="/xxx/xxx01">
              <button>xxx-01</button>
            </router-link>
            <router-link to="/xxx/xxx02">
              <button>xxx-02</button>
            </router-link>
            
            <router-view>
            # 以后這里變換頁面組件,多級(jí)路由
            </router-view>
    3 新建兩個(gè)頁面組件 Xxx01.vue Xxx02.vue 配置路由children
    	{
            path: '/xxx',
            name: 'xxx',
            component: XxxView,
            children: [ //通過children配置子級(jí)路由
                {
                    path: 'xxx01', //此處一定不要寫:/xxx
                    component: Xxx01
                },
                {
                    path: 'xxx02',//此處一定不要寫:/xxx
                    component: Xxx02
                }
            ]
        },

路由守衛(wèi)

# 前置路由收文,再進(jìn)入路由之前做判斷
# 寫在router-index.js中,以后訪問任意一個(gè)路由,都會(huì)執(zhí)行這個(gè)代碼
router.beforEach((to,from,next)=>{
    console.log('前置路由守衛(wèi)',to,from)
    // 要是訪問xxx01,不能跳轉(zhuǎn)
    // 如果沒有登錄,不能訪問
    if (to.path=='/xxx/xxx01'){
        alert('你咩有權(quán)限')
    }else{
        next() # 繼續(xù)訪問
    }
})

路由的兩種工作模式

路由器的兩種工作模式
1 對(duì)于一個(gè)url來說,什么是hash值?--#及其后面的內(nèi)容就是hash值
2 hash值不會(huì)包含在HTTP請求中,即:hash值不會(huì)帶給服務(wù)器
3 hash模式:
	地址中永遠(yuǎn)帶著#號(hào) 不美觀
	若以后將地址通過第三方手機(jī)app分享,若app校驗(yàn)嚴(yán)格,則地址會(huì)被標(biāo)記為不合法
    兼容性較好
4 history模式:
	地址干凈 美觀
    兼容性和hash模式相關(guān)略差
    應(yīng)用部署上線時(shí)需要后端人員支持,解決刷新頁面服務(wù)端404的問題

localstorage、sessionstorage和cookie

# 前端存儲(chǔ)數(shù)據(jù)
	登錄成功,有token,存本地
    不登錄加購物車
    
# 前端可以存數(shù)據(jù)的位置:
	localstorage:永久存儲(chǔ),除非你刪除,關(guān)閉瀏覽器,再打開還會(huì)在
    sessionstorage:只在當(dāng)前會(huì)話生效,關(guān)閉瀏覽器,就沒了
    cookie:有過期時(shí)間,到了過期時(shí)間,自動(dòng)刪除
    	#  需要借助于第三方 vue-cookies
      	#  cnpm install -S vue-cookies
        import cookies from 'vue-cookies'
		Vue.use(cookies)
<template>
  <div class="home">
    <h1>操作localstorage,永久存儲(chǔ)</h1>
    <button @click="addLocalstorage">增加</button>
    <button @click="getLocalstorage">查</button>
    <button @click="deleteLocalstorage">刪除</button>
    <h1>操作sessiostorage,當(dāng)前會(huì)話,關(guān)閉瀏覽器</h1>
    <button @click="addSessiostorage">增加</button>
    <button @click="getSessiostorage">查</button>
    <button @click="deleteSessiostorage">刪除</button>
    <h1>操作cookie,有過期時(shí)間</h1>
    <button @click="addCookie">增加</button>
    <button @click="getCookie">查</button>
    <button @click="deleteCookie">刪除</button>
  </div>
</template>

<script>
export default {
  name: 'HomeView',
  methods: {
    addLocalstorage(){
      let userinfo = {name:'lqz',age:19}
      localStorage.setItem('userinfo',JSON.stringify(userinfo))
    },
    getLocalstorage(){
      let userinfo = localStorage.getItem('userinfo')
      console.log(JSON.parse(userinfo).name)
    },
    deleteLocalstorage(){
      localStorage.clear()
      localStorage.removeItem('userinfo')
    },
    addSessiostorage(){
      let userinfo = {'name':'xxx','age':18}
      sessionStorage.setItem('userinfo',JSON.stringify(userinfo))
    },
    getSessiostorage(){
      let userinfo = sessionStorage.getItem('userinfo')
      console.log(JSON.parse(userinfo).name)
    },
    deleteSessiostorage(){
      sessionStorage.clear()
      sessionStorage.removeItem('userinfo')
    },
    addCookie(){
      // 需要借助于第三方 vue-cookies
      // cnpm install -S vue-cookies
      this.$cookies.set('name','xxx','300s')
    },
    getCookie(){
      console.log(this.$cookies.get('name'))
    },
    deleteCookie(){
      this.$cookies.remove('name')
    },
  },
}
</script>

到了這里,關(guān)于Vue——vuex使用、Router使用、localstorage、sessionstorage和cookie的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 瀏覽器的存儲(chǔ),cookie(httponly)、localStorage、sessionStorage、indexed對(duì)比

    瀏覽器提供了多種客戶端存儲(chǔ)機(jī)制,每種機(jī)制都有其特定的用途、特性和限制。以下是對(duì) cookie 、 localStorage 、 sessionStorage 和 IndexedDB 的對(duì)比: 1. Cookie 存儲(chǔ)大小 : 通常限制為4KB。 生命周期 : 可以設(shè)置過期時(shí)間。如果沒有設(shè)置,它的生命周期將與會(huì)話持續(xù)相同,即關(guān)閉瀏覽器后

    2024年02月10日
    瀏覽(29)
  • 前端存儲(chǔ)不要局限于cookies、Web Storage(sessionStorage、localStorage)還有它!

    前端存儲(chǔ)不要局限于cookies、Web Storage(sessionStorage、localStorage)還有它!

    前端本地化存儲(chǔ)算是一個(gè)老生常談的話題了,我們對(duì)于 cookies、Web Storage(sessionStorage、localStorage)的使用已經(jīng)非常熟悉,這段時(shí)間公司提出了一個(gè)需求,業(yè)務(wù)員在移動(dòng)端作業(yè)時(shí)需要有一個(gè)暫存功能,暫時(shí)存儲(chǔ)填寫的數(shù)據(jù),我分析后數(shù)據(jù)量還比較大,前后查過各種資料。現(xiàn)在分

    2024年02月19日
    瀏覽(19)
  • Vue中如何進(jìn)行狀態(tài)持久化(LocalStorage、SessionStorage)

    Vue中如何進(jìn)行狀態(tài)持久化(LocalStorage、SessionStorage)

    在Vue應(yīng)用中,通常需要將一些狀態(tài)進(jìn)行持久化,以便在用戶關(guān)閉瀏覽器或刷新頁面后,仍能保留之前的狀態(tài)。常見的持久化方式包括 LocalStorage 和 SessionStorage 。本文將介紹如何使用這兩種方式來實(shí)現(xiàn)狀態(tài)的持久化。 LocalStorage 是HTML5中引入的一種持久化方式,它可以將數(shù)據(jù)存儲(chǔ)

    2024年02月09日
    瀏覽(22)
  • sessionStorage和localStorage 的區(qū)別和使用,具體與 session 區(qū)分

    sessionStorage和localStorage是瀏覽器提供的Web Storage機(jī)制,用于存儲(chǔ)在客戶端(瀏覽器)本地的數(shù)據(jù)。它們之間的區(qū)別主要體現(xiàn)在以下幾個(gè)方面: 1. 數(shù)據(jù)作用域: - sessionStorage:存儲(chǔ)在sessionStorage中的數(shù)據(jù)僅在當(dāng) 前會(huì)話期間有效 ,即在瀏覽器同一個(gè)窗口或標(biāo)簽頁打開的時(shí)間范圍內(nèi)

    2024年02月09日
    瀏覽(18)
  • Vue項(xiàng)目保持用戶登錄狀態(tài)(localStorage + vuex 刷新頁面后狀態(tài)依然保持)

    Vue項(xiàng)目保持用戶登錄狀態(tài)(localStorage + vuex 刷新頁面后狀態(tài)依然保持)

    ????????在前端項(xiàng)目開發(fā)中,實(shí)現(xiàn)用戶的登陸注冊功能時(shí)常常會(huì)有一個(gè)問題,那就是我們設(shè)置的登錄狀態(tài),在瀏覽器頁面刷新后就消失了,這其實(shí)只是因?yàn)槲覀儧]有保存用戶狀態(tài)。 這里小馬演示使用的是 localStorage ? + ? vuex 方法(其他諸如 sessionStorage、cookie 等用法相同,

    2023年04月08日
    瀏覽(23)
  • vue中vuex的五個(gè)屬性和基本用法,另加js-cookie的使用

    vue中vuex的五個(gè)屬性和基本用法,另加js-cookie的使用

    VueX 是一個(gè)專門為 Vue.js 應(yīng)用設(shè)計(jì)的狀態(tài)管理構(gòu)架,統(tǒng)一管理和維護(hù)各個(gè)vue組件的可變化狀態(tài)(你可以理解成 vue 組件里的某些 data )。 state, getters, mutations, actions, modules。 1. state: vuex的基本數(shù)據(jù),用來存儲(chǔ)變量 2. geeter: 從基本數(shù)據(jù)(state)派生的數(shù)據(jù),相當(dāng)于state的計(jì)算屬性 3.

    2024年02月14日
    瀏覽(43)
  • 原生JavaScript實(shí)現(xiàn)本地存儲(chǔ)(localStorage)和會(huì)話存儲(chǔ)(sessionStorage)

    目錄 一、簡單介紹 二、localStorage本地存儲(chǔ) 三、sessionStorage會(huì)話存儲(chǔ) 本地存儲(chǔ)和會(huì)話存儲(chǔ)的目的,是將所輸入的文件存入到瀏覽器中,在需要的時(shí)候,直接調(diào)用,但是本地存儲(chǔ)和會(huì)話存儲(chǔ)有著一定的區(qū)別,本地存儲(chǔ),在不主動(dòng)刪除的情況下,會(huì)一直保留在瀏覽器中,會(huì)話存儲(chǔ)是

    2023年04月08日
    瀏覽(32)
  • 利用HTML5存儲(chǔ)對(duì)象:localStorage和sessionStorage解析

    前端朋友們,你是否曾為如何在用戶的瀏覽器中存儲(chǔ)數(shù)據(jù)而感到困擾?你是否想過,如果可以在用戶的瀏覽器中存儲(chǔ)一些數(shù)據(jù),那么我們的應(yīng)用程序?qū)?huì)變得多么強(qiáng)大?如果你的答案是肯定的,那么本文將為你解鎖一種新的能力——使用HTML5的localStorage和sessionStorage。 HTML5引入

    2024年02月05日
    瀏覽(17)
  • 【溫故而知新】HTML5存儲(chǔ)localStorage/sessionStorage

    HTML5是HTML的最新版本,它引入了許多新的元素和功能,以適應(yīng)現(xiàn)代網(wǎng)頁開發(fā)的需求。以下是HTML5的一些主要特點(diǎn): 新增語義元素 :HTML5引入了許多新的語義元素,如 header、footer、article、section 等,這些元素有助于提高網(wǎng)頁的結(jié)構(gòu)化和可訪問性。 媒體支持 :HTML5引入了 audio 和

    2024年01月18日
    瀏覽(96)
  • 為什么sessionStorage不能代替vuex

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。 譯為“會(huì)話存儲(chǔ)”,也是HTML5新增的一個(gè)存儲(chǔ)對(duì)象, 用于本地臨時(shí)存儲(chǔ)同一窗口的數(shù)據(jù),在 關(guān)閉窗口之后 將會(huì)刪除這

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包