Árbitros de Vue y dominios cruzados.

  1. Uso práctico de árbitros.

<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="80px">

<h2 style="margin-left: 1vw;">Inicio de sesión de usuario</h2>

<el-divider></el-divider>

<div class="área_entrada">

<el-form-item label="nombre de usuario" prop="nombre" >

<el-input type="text" v-model="ruleForm.name" placeholder="Ingrese el nombre de usuario"></el-input>

</el-form-item>

<el-form-item label="confirmar contraseña" prop="contraseña" >

<el-input type="contraseña" v-model="ruleForm.pass" style="margin-top: 2vh;"

placeholder="Por favor ingrese la contraseña"></el-input>

</el-form-item>

</div>

<el-button @click="$evento =>submitForm('ruleForm')" estilo="ancho: 21vw;margen: 1vw;"

tipo="primary">iniciar sesión</el-button>

<p style="margin-left: 1vw;color: #0000CD">Su IP de inicio de sesión es: { { ip_msg }}</p>

</el-form>

Definido en datos:

datos() {

devolver {

ruleForm: { //información de entrada del formulario de inicio de sesión

aprobar: '',

nombre: ''

},

ip_msg: "", //información de IP local

reglas: { // reglas de validación del formulario de inicio de sesión

aprobar: [

{requerido: verdadero, mensaje: 'Ingrese una contraseña', activador: 'desenfoque' },

{ min: 3, max: 5, mensaje: 'La longitud es entre 3 y 5 caracteres', disparador: 'desenfoque' }

],

nombre: [

{requerido: verdadero, mensaje: 'Ingrese un nombre de usuario', activador: 'desenfoque' },

{ min: 3, max: 5, mensaje: 'La longitud es entre 3 y 5 caracteres', disparador: 'desenfoque' }

]

}

}

},

El método de escribir la verificación en métodos:

métodos: {

enviarForm(formName) { //envío de formulario

this.$refs[nombredelformulario].validate((válido) => {

En this.$refs[formName].validate() aquí está el método de validación de formulario proporcionado por Element UI

si (válido) {

this.axios.post('/api/cuenta', {

nombre de usuario o dirección de correo electrónico: 'admin', //enviar parámetros

contraseña: "baotimes0928"

})

.entonces(respuesta => {

console.log(respuesta.datos.resultado);

})

.catch(error => {

consola.log(error);

});

// consola.log(this.data.ruleForm.name)

esto.$router.push({

nombre: 'Inicio',

params: { nombre: this.ruleForm } // Enviar parámetros locales

})

} demás {

console.log('error submit!!');

return false;

}

});

},

}

  1. 设置背景照片底层显示:

background: url('../assets/main_bg.jpg');

background-size: cover;

background-repeat: no-repeat;

background-position: center center;

z-index: -1;

  1. config中配置跨域问题:

一下代码直接暴力CV

const { defineConfig } = require('@vue/cli-service')

const path = require('path');

module.exports = defineConfig({

transpileDependencies: true,

outputDir: 'dist',

assetsDir: 'static',

devServer: {

proxy: {

'/api': {

target: 'http://118.190.79.161:83/api/', // 后端API接口的地址

changeOrigin: true, // 是否跨域

pathRewrite: {

'^/api': '' // 重写请求路径:将所有以/api开头的请求url去掉/api

}

}

}

}

})

Supongo que te gusta

Origin blog.csdn.net/JohnJill/article/details/129424947
Recomendado
Clasificación