1. 程式人生 > >VUE DEMO 之模擬登入 個人中心頁面之間資料傳值

VUE DEMO 之模擬登入 個人中心頁面之間資料傳值

lalala~ 先上程式碼吧:

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模擬登入成功並跳轉頁面</title>
    <script src='vue.js'></script>
    <style>
        .red{
            color:red;
        }
        .ddd{
            color
:#333
; font-size: 13px; }
</style> </head> <body> <div id="app"> <h3 class="red">登入</h3> 使用者名稱:<input type="text" v-model='userinfo.username' ><br> 密碼:<input type="password" v-model='userinfo.password'
>
<br> <input type="submit" value="提交" @click='check'> </div> <script> let vm = new Vue({ el:'#app', data(){ return { userinfo:{ username:'', password:''
, } } }, methods:{ check(){ if(this.userinfo.username != '' && this.userinfo.password != ''){ alert('恭喜您,登入成功'); //使用location 記錄使用者資訊 if(!window.localStorage){ alert('您的瀏覽器不支援localStorage') }else{ localStorage.setItem('userInfo',JSON.stringify(this.userinfo)); } window.location.href='order.html' }else{ alert('使用者名稱或者密碼不能為空') } } } })
</script> </body> </html>
order.html 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模擬登入成功並跳轉頁面</title>
    <script src='vue.js'></script>
    <style>
        .red{
            color:red;
        }
        .ddd{
            color:#333;
            font-size: 13px;
        }
    </style>
</head>
<body>
    <div id="app">
        <h3 class="red">個人中心</h3>
        <div>
            你好:<span class="ddd">{{username}}</span><br>
            您的密碼是: <span class="ddd">{{password}}</span>
        </div>
    </div>
    <script>
        let vm = new Vue({
            el:'#app',
            data(){
                return {
                    username:'',
                    password:''
                }
            },
            mounted(){
                if(!window.localStorage){
                    alert('瀏覽器不支援localStorage');
                }else{
                    var data1 = localStorage.getItem('userInfo');
                    var data2 = JSON.parse(data1);
                    this.username = data2.username;
                    this.password = data2.password;
                }
            }
        })
    </script>
</body>
</html>

分析其中運用的知識點:
1. vue v-model 指令,把表單的值和data資料繫結,雙向資料繫結。
2. html5 window.localStorage 本地儲存,用來儲存使用者資訊(在實際專案中必須加密的,demo中沒有去做)。
3. JSON.parse() 將JSON字串轉化成json格式
4. JSON.stringify() 將JSON轉化成json字串