首页 > 其他分享 >Vue执行和开发流程、登录小案例、混入、插件、elementui

Vue执行和开发流程、登录小案例、混入、插件、elementui

时间:2023-09-21 20:15:34浏览次数:40  
标签:插件 Vue name elementui res axios 组件 password data

一、Vue执行流程

1、vue的执行流程

# 1 为什么浏览器中访问某个地址,会显示某个页面组件
	-根组件:App.vue  必须是
        <template>
          <div id="app">
            <router-view></router-view>
          </div>
    	</template>
	-1 配置路由
    	router----》index.js---》const routes = [
                {
                path: '/lqz',
                name: 'lqz',
                component: Lqz  # 组件,需要导入
            },
        ]
     -2 放心大胆的写页面组件  -src---->views文件夹
    
    
# 2 在页面组件中使用小组件
    -1 写一个小组件,我们写了个Child.vue
    -2 在父组件中,导入组件
    	# @ 代指src路径
		import Child from "@/components/Child";
    -3 父组件中,注册组件
    	  components: {
            Child
          }
    -4 父组件中使用组件
	    <Child :msg="msg" @myevent="handleEvent"></Child>
    -5 自定义属性,自定义事件,插槽,跟之前一模一样  

二、登录小案例

1、解决跨域问题、安装axios

# 1 登录页面:LoginView.vue
	
# 2 访问/login 显示这个页面组件
# 3 在LoginView.vue写html,和js,axios
	-安装 axios
    -cnpm install -S axios  # 把安装的axios放到package.json中
# 4 写ajax,向后端发送请求,给按钮绑定两个一个事件
	#安装axios,导入axios
	    handleSubmit() {
          console.log(this.name, this.password)
          axios.post('http://127.0.0.1:8000/login/', {
            name: this.name,
            password: this.password
          }).then(res => {
            // console.log(res.data)
            if (res.data.code == 100) {
              //跳转到百度
              location.href = 'http://www.baidu.com'
            } else {
              alert(res.data.msg)
            }
          })
        }
# 4 写个后端的登录接口,处理好跨域问题,处理跨域如下

####解决后端跨域问题#####
    1 安装
    	pip3.8 install django-cors-headers
    2 注册app
        INSTALLED_APPS = (
            ...
            'corsheaders',
            ...
        )
    3 配置中间件
        MIDDLEWARE = [  
            ...
            'corsheaders.middleware.CorsMiddleware',
            ...
        ]
    
    4 配置文件中加入:setting下面添加下面的配置
        CORS_ORIGIN_ALLOW_ALL = True
        CORS_ALLOW_METHODS = (
            'DELETE',
            'GET',
            'OPTIONS',
            'PATCH',
            'POST',
            'PUT',
            'VIEW',
        )

        CORS_ALLOW_HEADERS = (
            'XMLHttpRequest',
            'X_FILENAME',
            'accept-encoding',
            'authorization',
            'content-type',
            'dnt',
            'origin',
            'user-agent',
            'x-csrftoken',
            'x-requested-with',
            'Pragma',
            'token'
        )

2、后端

import json

def login(request):
    data = json.loads(request.body)
    if request.method == 'POST':
        print(data)
        name = data.get('name')
        password = data.get('password')
        if name == 'ccy' and password == '123':
            print(name, password)
            return JsonResponse({'code': 200, 'msg': '登录成功!'})
        else:
            return JsonResponse({'code': 400, 'msg': '登录失败!'})

注意这里的密码,前端传过去是字符串

3、前端

## views

<template>
<div>
  <p>用户名: <input type="text" v-model="name"> </p>
  <p>密码: <input type="password" v-model="password"></p>
  <button @click="handleSubmit">登录</button>
</div>
</template>

<script>

import axios from  'axios';

export default {
  name: "LoginView",
  data () {
    return {
      name: '',
      password: ''
    }
  },
  methods: {
    handleSubmit(){
        console.log(this.name, this.password)
        axios.post('http://127.0.0.1:8000/login/',{
          name: this.name,
          password: this.password
        }).then(res => {
          console.log(res.data.name, res.data.password)
          if (res.data.code === 200){
            location.href = 'https://www.cnblogs.com/'
          }else {
            alert(res.data.msg)
          }
        })
    }
  }
}
</script>
<style scoped>
</style>

## router

import LoginView from "@/views/LoginView";
{
        path: '/login',
        name: 'login',
        component: LoginView
    },

三、scoped、props、ref、混入

1、scoped 属性(作用范围)

新建的组件 加了scoped,表示样式只在当前组件生效,如果不加,子组件都会使用这个样式

<style scoped>
</style>

2、props 属性

 

 

 

3、ref属性

 

 

 

4、混入

 

 

 

四、插件

 

 

 

 

五、elementui

 

标签:插件,Vue,name,elementui,res,axios,组件,password,data
From: https://www.cnblogs.com/dgp-zjz/p/17720451.html

相关文章

  • 每日一题:vue3自定义指令大全(呕心沥血所作,附可运行项目源码)
    1.VUE常用指令大全本项目所有指令均为全局注册,使用时直接在组件中使用即可。指令目录:src/directives页面目录:src/views具体可查看源码1.1权限指令封装一个权限指令,在模板中根据用户权限来控制元素的显示或隐藏。permission.jsimport{ref,watchEffect}from'vue';c......
  • [Unity] 基于 ParadoxNotion FlowCanvas 插件实现技能
    游戏中的技能总是有各种各样的逻辑比如持续性范围技能,魔兽争霸的暴雪风链式技能,博德之门的闪电链持续技能,博德之门的昼明术等等,这些技能都有各自特殊的逻辑,如何让这些技能有一个通用的配置方法像是RPGBuilder会有一个技能编辑器,里面提供了尽可能多的选择来配置技能编辑器......
  • 16-Vue数据监视
    我们先探讨一个数据更新时的问题,假设在以下人员列表中,改变"马冬梅"的信息,可以通过什么方法1)第一种方法(奏效)数据更新时,方法奏效this.persons[0].name="马老师"this.persons[0].age=50this.persons[0].sex="男"2)第二种方法(不奏效)数据更新时,Vue不监听,模板不改变,但通......
  • 在用的vscode插件汇总
    辅助开发类CodeSpellChecker提示你英语语法错误,还能帮你纠正为正确的单词CodeRunner帮你运行脚本文件,不再需要打开控制台>pythonmain.pynodeapp.js翻译(英汉词典)本地词库,实现翻译console-helper前端打印用的,快速对console输出,删除。ProjectMa......
  • IDEA使用Maven的Tomcat7插件运行项目
    首先在插件商店安装MavenHelper<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</ve......
  • 小白也能看懂的插件化DroidPlugin原理(三)-- 如何拦截startActivity方法
    **前言:**在前两篇文章中分别介绍了动态代理、反射机制和Hook机制,如果对这些还不太了解的童鞋建议先去参考一下前两篇文章。经过了前面两篇文章的铺垫,终于可以玩点真刀实弹的了,本篇将会通过Hook掉startActivity方法的一个小例子来介绍如何找出合适的Hook切入点。开始之前我们......
  • vue通过 v-for循环出来的数组给元素 加不同的颜色
    直接上代码:1<divv-for="(item,i)incolorList":key="i">2<divclass="cmn-color">3<div:style="{'background':item}"></div><span>开发{{i+1}}</span>4</d......
  • CentOS环境 nginx配置vue项目
    ps:这里使用ruoyi-vue-plus项目举例,官网:https://plus-doc.dromara.org/一、配置不带应用路径的vue项目1、打包。首先将vue项目生产配置文件的的应用访问路径设为'/',然后命令行输入runrunbuild:prod进行打包。2、导入环境。将打包文件(dist)拖入CentOS中/usr/local/nginx/html......
  • eclipse更多快捷键和插件(我喜欢ctrl+shift+r)
    (1)Ctrl+M--切换窗口的大小(2)Ctrl+Q --跳到最后一次的编辑处(3)F2       --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即ShowTooltipDescription。          F3       --跳到声明或定义的地方。         F5      --单......
  • nodejs+vue+element-ui安装
    1.nodejs安装https://www.runoob.com/nodejs/nodejs-install-setup.html2.vue安装nodejs安装以后,使用vue会报错:‘vue‘不是内部或外部命令,也不是可运行的程序解决办法:https://developer.aliyun.com/article/1093401配置vue的环境变量:查看到prefix的值以后,分别......