zoukankan      html  css  js  c++  java
  • vue中布局页的使用

    初识vue,之前都是一直用asp.net mvc的,前台用的razor引擎,在学习vue的时候突然发现布局页面的嵌套使用......好难搞......经过一系列的研究终于搞出来的,在这里remark一下。

    因为之前用的mvc框架,所有这里的布局页使用的思想和之前razor使用的思想是一致的。

    不知道vue中是否叫布局页,我沿用了mvc中的叫法。该项目中使用了Element框架,所以dom元素和html有些区别。

    1、创建子页面和布局页面

    Login.vue是子页面,Layout.vue是布局页

    Layout.vue代码如下

     1 <template>
     2   <v-app id="LoginLayout">
     3     这是登录母版页
     4     <v-content>
     5       <router-view ></router-view>
     6     </v-content>
     7   </v-app>
     8 </template>
     9 
    10 <script>
    11 export default {
    12   name: 'LoginLayout',
    13   data() {
    14   },
    15   methods: {
    16   }
    17 }
    18 </script>
    19 
    20 <style scoped>
    21 </style>
    View Code

    Login.vue代码如下

     1 <template>
     2   <div style="margin-left:40%; margin-top:5%;300px;">
     3     <el-form ref="form" :model="form" label-width="80px">
     4       <el-form-item label="帐号">
     5         <el-input v-model="form.name" maxlength="20"></el-input>
     6       </el-form-item>
     7       <el-form-item label="密码">
     8         <el-input v-model="form.password" type="password" maxlength="10"></el-input>
     9       </el-form-item>
    10       <el-form-item label="角色">
    11         <el-select v-model="form.region" placeholder="请选择">
    12           <el-option label="客服" value="shanghai"></el-option>
    13           <el-option label="销售" value="beijing"></el-option>
    14         </el-select>
    15       </el-form-item>
    16       <el-form-item>
    17         <el-button type="primary" @click="onSubmit">登录</el-button>
    18       </el-form-item>
    19     </el-form>
    20   </div>
    21 </template>
    22 
    23 <script>
    24 export default {
    25   data() {
    26     return {
    27       msg: 'Welcome to Your Vue.js App2222',
    28       form: {
    29         name: '',
    30         region: '',
    31         date1: '',
    32         date2: '',
    33         delivery: false,
    34         type: [],
    35         resource: '',
    36         desc: ''
    37       },
    38       IsLogin: false
    39     }
    40   },
    41   methods: {
    42     onSubmit() {
    43       console.log('submit!')
    44 
    45       // eslint-disable-next-line no-array-constructor
    46       var list = new Array()
    47       list.push('lucy')
    48       // location.href = '/User/UserList'
    49       this.$post('/api/User/GetUserInfoList', {
    50         PageSize: 2,
    51         PageIndex: 1,
    52         list: list
    53       }).then((response) => {
    54         console.log(response)
    55       })
    56     }
    57   }
    58 }
    59 </script>
    View Code

    以上代码比较简单,应该都能看到懂,Layout中需要添加router-view节点,子页面中正常写就可以了。

    2、路由器

    路由器是关键,,需要配置路由器,设定布局页的子页面,路由器代码如下:

     1 import LoginLayout from '@/components/Login/Layout'
     2 
     3 {
     4       path: '/Login',
     5       component: LoginLayout,
     6       children: [
     7         {
     8           name: 'Login',
     9           path: 'Login',
    10           component: () => import('../components/login/Login.vue')
    11         }
    12       ]
    13     },

     3、运行项目

    cnpm run dev 运行,访问:http://localhost:8080/Login/Login,这里是需要访问子页面,子页面名字叫Login,运行界面如下图所示:

     

  • 相关阅读:
    NYOJ题目28大数阶乘
    网页小图标设置
    Sass中文乱码问题(手动编译和watch编译)
    设计模式之构建者模式(Builder):初步理解
    Struts2之类型转换器
    css设置网页文本选中样式
    由超市临时储物柜引发的一点设计随想...
    前端资源相关参考资料
    Struts2拦截器之ExceptionMappingInterceptor(异常映射拦截器)
    Struts2之OGNL
  • 原文地址:https://www.cnblogs.com/PrintY/p/14031741.html
Copyright © 2011-2022 走看看