鍍金池/ 問(wèn)答/PHP  HTML/ vue路由跳轉(zhuǎn)問(wèn)題?router-view必須出現(xiàn)在 app.vue中么?

vue路由跳轉(zhuǎn)問(wèn)題?router-view必須出現(xiàn)在 app.vue中么?

  1. 場(chǎng)景是這樣子的,我再app.vue中寫(xiě)了一個(gè)登錄框,然后根據(jù)返回值權(quán)限不同跳轉(zhuǎn)不同頁(yè)面

    <div class='login-container'>
      <el-form  :model="formInline" class="demo-form-inline" label-position='left'  label-width='80px'>
        <el-form-item label="用戶(hù)名">
          <el-input v-model="formInline.user" placeholder="用戶(hù)名"></el-input>
        </el-form-item>
        <el-form-item label="密碼">
          <el-input v-model="formInline.user" placeholder="密碼"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="onSubmit"  >登錄</el-button>
        </el-form-item>
      </el-form>
    </div>

onSubmit

    onSubmit(){
      // 后端請(qǐng)求判斷
      if(user1){
        this.$router.push({ path: '/User1' })
      }
      if(user2){
        this.$router.push({ path: '/User1' })
      }

    },

路由文件

    {
        path:'/User1',
        name:'User1',
        component:User1
    },
        {
        path:'/User2',
        name:'User2',
        component:User2
    }

問(wèn)題是我如果在app.vue中加了<router-view></router-view>,都會(huì)跳轉(zhuǎn)但是表單還在那個(gè)頁(yè)面,就是app.vue中既有表單頁(yè)面,又有user1頁(yè)面

有沒(méi)有辦法直接讓跳轉(zhuǎn)到user1頁(yè)面不出現(xiàn)表單,那么<router-view>應(yīng)該加在哪里?

回答
編輯回答
舊言

path: '/User1'這么著會(huì)跳轉(zhuǎn)一級(jí)路由。
所以你的登錄頁(yè)也應(yīng)該放在一級(jí)路由里。
這樣路由跳轉(zhuǎn)的時(shí)候才會(huì)被替換掉。

2017年8月22日 01:16
編輯回答
冷眸

對(duì)于這個(gè)你理解錯(cuò)了:
1、<router-view>僅為一個(gè)容器,用于展示內(nèi)容的,不應(yīng)該在application頁(yè)面寫(xiě)登錄邏輯,就把<router-view>寫(xiě)上便好;
2、新建一個(gè)用于登錄的模板,并把其加入路由中,使其成為application中<router-view>的默認(rèn)視圖,這樣在通過(guò)登錄的用戶(hù)跳轉(zhuǎn)不同的路由才是好的

2018年2月7日 12:22