首页 > 其他分享 >lufffy——01

lufffy——01

时间:2024-01-17 15:57:53浏览次数:28  
标签:01 const name age --- person 虚拟环境 lufffy

前情回顾

# 1 vue3 介绍
    -速度更快,源码的更新
    -全面拥抱ts:微软出的
        -ts是js的超集
        -写了ts,浏览器认识吗?---》ts最终被转成了js
    -重写虚拟DOM的实现和Tree-Shaking:Tree-shaking的本质是消除无用的js代码
    
    
# 2 创建vue3项目
    -vue-cli
    -vite:以后如果写vue3,必须用vite
        npm create vite@latest # 选择安装 vue-router和pinia
        cnpm install 
    -运行项目
        npm run dev
        
# 3 setup函数---》配置项api写法
    export default{
        setup(){

            return {}
        }
    }
# 4 组合式api,所有代码都写在setup函数中---》
    <script setup>
        写原来写在setup函数中得东西,不需要return了
    </script>
# 5 ref 和 reactive
    reactive 是深层次的---》无论多少层,都带响应式
      
# 6 计算属性:之前是配置项,显示是导入一个函数
    let person=reactive({name:lqz,age:19})
    # 1 只取值
    person.hobby=computed(()=>{
      return person.name+person.age
    })
    # 2 取值和赋值
    person.hobby=computed({
      get(){
        return 'xxxx'
      },
      set(newValue){
      }
    })
    
# 7 监听属性
    # 1 监听普通
    watch(age, (newValue, oldValue) => {
      console.log('sum变化了', newValue, oldValue)
    })
    # 2 监听对象
    watch(() => person.name, (newValue, oldValue) => {
      console.log('person.name变化了', newValue, oldValue)
    })
    # 3 监听多个
    const sum = ref(100)
    const msg = ref('很好')
    watch([sum, msg], (newValue, oldValue) => {
      console.log('sum或msg变化了', newValue, oldValue)
    })
    # 4 watchEffect的使用
    watchEffect(() => {
      const x1 = sum.value
      const x2 = person.age
      console.log('watchEffect配置的回调执行了')
    })
    
# 8 生命周期
    vue2 和vue3 不一样了
    vue3的选项式和配置项
        setup()
        setup():组件加载完成,就跟后端交互,先定义变量--》发ajax--》拿回来的数据赋值给变量
        onBeforeMount()
        onMounted()
        onBeforeUpdate()
        onUpdated()
        onBeforeUnmount()
        onUnmounted()
        
        
# 9 toRefs

# 10 其他:以后都使用组合式api
### 10.1 典型写法
<script setup lang="js" name="组件名字">
</script>

### 10.2 不需要return,它会自动return
    -如果注册局部组件,只需要导入组件即可,在template中就可以使用了
    
    
### 10.3 以后只需要在 setup 内,写变量,写函数即可
    const age=ref(0)
    function add(){
      age.value++
    }
    
#### 10.4 vue-router的使用
    -路由跳转:
    import {useRouter, useRoute} from 'vue-router'
    const router = useRouter() # 就是以前的this.$router
    const route = useRoute()  # 就是以前的this.$route
    -路由注册--跟之前一模一样
    -路由的api--跟之前一样
    router.push({name:'home'})
    -路由守卫跟之前一样:
        router.beforeEach()
    -路由嵌套,跟之前一样
    
    
### 10.5 之前用vuex---》vue3上还可以用--》但是使用pinia更好
    import {useCounterStore} from '@/stores/counter'
    const store = useCounterStore()
    console.log(store.count)
    
    
### 10.6 elementui-plus
npm install element-plus --save
# main.js中

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
app.use(ElementPlus)

 

 

 

 

 

 

今日内容

vue3之axios

# 1 安装:
cnpm install axios
# 2 在setup中直接发送请求---以后再template中循环filmList.result
import axios from 'axios'
const filmList = reactive({result:[]})
axios.get('http://127.0.0.1:8000/film/').then(res => {
  console.log(res.data)
  filmList.result = res.data.results
})

# 3 async 和 await的使用
const filmList = reactive({result: []})
async function load() {
  # await必须写在被async修饰的函数中,也可以写在setup函数中
  let response = await axios.get('http://127.0.0.1:8000/film/')
  filmList.result = response.data.results
}
load(

# 4 axios的拦截器
    -请求发出之前的拦截器
    -请求响应回来的拦截器
        -判断状态码是不是100,如果是100,继续走,不是100,直接弹错误

vue3之ref

# 1 ref属性---》setup写法中取

-在子组件中暴露
<script setup>、......................................................................4+===========================================
    import {reactive} from "vue";
    const person=reactive({name:'lqz',age:19})
    function add(){
      console.log('asfdasfd')
    }
    defineExpose({person,add})
</script>
-在父组件中获取
# template中:  <HelloWorld ref="helloworld"></HelloWorld>
# js中:
import {ref, reactive,} from "vue";
# 1 拿到ref对应的组件对象
const helloworld = ref() # 变量名必须跟 在组件上定义的名字一致
function handleClick() {
  # this.$refs.helloworld  现在不能这么拿
  console.log(helloworld.value) #  helloworld.value拿到组件对象
  # 使用组件对象的属性和方法---》vue3---》不能直接使用,需要子组件暴露---》只能用子组件暴露的
  helloworld.value.add()
  console.log(helloworld.value.person.name)
}

vue3之toRefs

### 结构赋值
let person = {name: 'lqz', age: 19}
let {name, age} = person //  普通解构赋值,name=person.name   age=person.age
let {name:a, age} = person // 重命名解构赋值:a=person.name   age=person.age
console.log(a)
console.log(age)


### toRefs的使用

# toRefs 可以把对象内部的所有值,都做成响应式
# 通过结构赋值,赋值给某些变量---》这些变量就有响应式
# 改这些变量会影响到原来对象中得值

const person = reactive({name: 'lqz', age: 19})
# let res = toRefs(person)  // 把里面所有 普通变量做成响应式
# console.log(res)
# console.log(person)
let {name, age:nl} = toRefs(person)  // 等同于: name=ref(lqz)   age=ref(19)
# let {name, age} = person  // 等同于: name=lqz   age=19
function add() {
  nl.value++
  console.log(nl.value)
}



## toRef的使用
const person = reactive({name: 'lqz', age: 19})
# const name=toRefs(person)  //{name:ref(name),age:ref(age)}
const name = toRef(person, 'name')  //name=ref(person.name)
function change() {
  name.value = 'xxx'
}

路飞项目介绍

项目类型(python适合项目类型)

# 1 面向互联网用户:商城类项目
    -微信小程序商城
# 2 面向互联网用户:二手交易类的
    -咸鱼
    -转转
    
# 3 公司内部项目:python写的重点
    -oa系统
    -客户关系管理
    -资产管理
    -打卡系统工资核算系统
    -第三方公司做的:
        -给医院 互联网,内部的项目
        -银行 内部系统
        -政府 
        -钢材市场,商户
    - 微信小程序订餐
        -二维火 餐饮行业
    -零售行业
    -问卷网
    -考试系统
    
# 4 个人博客

# 5 内容收费站
    -掘金
    -拉钩教育
    =补充:咱们可以在哪里看技术类文章
        -cnblogs
        -csdn
        -思否
        -稀土掘金
        
# 6 房屋租赁
    -青客
     -蛋壳
     -自如

项目开发流程

# 开发流程
    -立项
    -需求分析
        # 互联网项目
            -需求调研和分析:产品经理设计出来的
        # 传统软件
            -需求调研和分析:市场人员跟客户对接
    
    -原型设计:产品经理 
        -懂业务
    -分任务开发
        -前端团队:前端开发
            -UI设计:美工
            -前端写代码(pc,小程序,移动端)
        -后端团队:后端开发
            -架构,数据库设计
            -分任务开发:用户,商品板块 
            -协同开发
           
        -联调测试
    -项目测试:测试人员
    -项目上线:运维人员
    

# 你在公司开发流程是什么?
    -开新项目,先开会,设计技术选型,数据库设计
        -产品,原型图做好了---分析出需求--》需求说明书
        -老大在项目管理平台(禅道)分配任务给我
        -进入到管理平台就能看到任务,相关功能的原型图
            -需求,原型图,实现的效果
        -开发---有不明白的需求,找产品对接----》自测
        -提交到版本仓库(git,svn)
        
        -所有都开发完了,分支合并
        -跟前端联调
        -发版:
    
    
    -如果是老项目
            -老大在项目管理平台(禅道)分配任务给我
            -进入到管理平台就能看到任务,相关功能的原型图
                -需求,原型图,实现的效果
            -开发---有不明白的需求,找产品对接----》自测
            -提交到版本仓库(git,svn)

            -所有都开发完了,分支合并
            -跟前端联调
            -发版:

路飞项目需求

# 线上销售课程的
    -商城
    -知识付费类
    
# 需求
    -首页功能
        -轮播图接口
        -推荐课程接口
        
    -用户功能
        -用户名密码登录
        -手机号验证码登录
        -发送手机验证码
        -验证手机号是否注册过
        -注册接口
        
   -课程列表功能
        -课程列表接口
        -排序,过滤,分页
   -课程详情
        -课程详情接口
        -视频播放功能
        -视频托管(第三方,自己平台)
   -下单功能
        -支付宝支付:生成支付链接,付款,回调修改订单状态
           -购买成功功能

pip换源

# 1 之前装第三方模块
pip3 install  django -i 镜像仓库

# 2 一劳永逸--》整点配置,以后安装模块,自动去配置好的源下载
###windows
1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
3、新增 pip.ini 配置文件内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
[install]
use-mirrors =true
mirrors =https://mirrors.aliyun.com/pypi/simple
trusted-host =mirrors.aliyun.com
# 以后再任意路径安装模块,都会自动使用阿里云源

虚拟环境

  虚拟环境作用
1、使不同应用开发环境相互独立
2、环境升级不影响其他应用,也不会影响全局的python环境
3、防止出现包管理混乱及包版本冲突

# 什么是虚拟环境,为什么要有它?它解决了什么问题
    -操作系统装了python3.10
        -使用django 2.2.2开发了一个项目
        -使用django 3.x 开发了一个项目
        -把两个项目都打开,同时开发
    -每个项目都用自己独立的环境,装的模块相互不影响
    -两种解决方案:
        Virtualenv
        pipenv
        
# Virtualenv如何创建虚拟环境
    ####1 win下安装
    pip3 install virtualenv
    pip3 install virtualenvwrapper-win
    ##### 2 配置 环境变量:
    # 控制面板 => 系统和安全 => 系统 => 高级系统设置 => 环境变量 => 系统变量 => 点击新建 => 填入变量名与值
    变量名:WORKON_HOME  变量值:自定义存放虚拟环境的绝对路径
    eg: WORKON_HOME: D:\Virtualenvs
    去d盘根路径创建出 Virtualenvs 文件夹

    #####3  同步配置信息:
    # 去向Python3的安装目录 => Scripts文件夹 => virtualenvwrapper.bat => 双击
    #### 4 使用虚拟环境
    -创建:mkvirtualenv -p python3 虚拟环境名称
        -mkvirtualenv -p python38 luffy
        -创建完会进入:(luffy) C:\Users\oldboy>
        -在虚拟环境中安装模块(装在虚拟环境不会影响其他人):pip install django==3.2.20
    -退出:
        -deactivate
    -查看:
        workon
    -进入
        workon luffy
    -删除
        rmvirtualenv 虚拟环境名称
        
        
        
        
 # pycharm创建虚拟环境

项目后台创建及目录调整

# 使用虚拟环境创建后台项目
    -方式一:使用命令
        -进入到虚拟环境,安装django,指定版本
        -django-admin startproject 项目名
        
    -方式二:使用pycharm
        -一定注意,指定解释器创建(虚拟环境中得解释器)
        
    -如果打开了项目,没有使用虚拟环境---》切换到虚拟环境
        -增加方式跟之前一样

 

标签:01,const,name,age,---,person,虚拟环境,lufffy
From: https://www.cnblogs.com/wzh366/p/17970191

相关文章

  • [极客大挑战 2019]Knife 1
    [极客大挑战2019]Knife1审题没啥好审的,给出eval($_POST["Syc"]);一句话木马了知识点蚁剑连接一句话木马。做题蚁剑连接测试成功后打开找到flag。......
  • [AGC010E] Rearranging
    Thereare$N$integerswrittenonablackboard.The$i$-thintegeris$A_i$.TakahashiandAokiwillarrangetheseintegersinarow,asfollows:First,Takahashiwillarrangetheintegersashewishes.Then,Aokiwillrepeatedlyswaptwoadjacentintege......
  • 运城学院数学与信息技术学院 2017—2018学年第二学期期末考试
    运城学院数学与信息技术学院2017—2018学年第二学期期末考试程序设计基础试题(A)适用范围:计算机科学与技术专业1701\1702班网络工程专业1703\1704\1705班信息管理与信息系统专业1706班数字媒体技术专业1707\1708班通信工程专业1709\17010班 命题人: 南丽丽       ......
  • 东北师范大学 计算机学院(研究生)课程表 2010学年春季学期
    东北师范大学 计算机学院(研究生)课程表2010学年春季学期班次       项目 星   节   期    次   2009年级       计算机软件与理论 专业  课            程学分教  师课程类别教室地点星期一......
  • harmonyos01
             https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2https://developer.huawei.com/consumer/cn/apphttps://developer.harmonyos.com/ ......
  • 【240117-1】如图,A和B为两正方形,两者共一顶角。求证:顶角两侧三角线面积相等。
    ......
  • P9018 [USACO23JAN] Moo Route G 题解
    首先有一些性质。因为保证有解,所以\(a_i\)一定都是\(2\)的倍数(必须一来一回)。并且总的步数应该为\(\suma_i\)。先考虑\(n\le2\)的情况,这时我们可以分情况讨论。因为每一条线段都会被来回走两次,所以我们可以先把每一个数都除以\(2\)。若\(a=b\),则最优情况一定是形......
  • P9017 [USACO23JAN] Lights Off G 题解
    一次操作相当于把\(a\)异或上\(b\),修改开关的一位相当于将这一位异或上\(1\)。会发现一个很神奇的性质:初始开关对灯的影响和改变开关状态对灯的影响是独立的。而前者的影响是固定的,所以我们可以只考虑改变开关状态对灯的影响。假设一共需要\(k\)次操作能使所有灯关闭,如果我......
  • 如何给shopify的URL做301跳转
    很多shopify的运营者或者推广者由于缺货或者货物变更,又或者自己更换了使用的主题,导致自己的URL结构发生了变化,由于不想浪费掉自己原有URL的流量,就想做个301跳转,让自己新的网址来承接原有的流量。接下来给大家介绍下如何给自己的URL做301跳转。首先你要在后台先访问你的所要修改......
  • MetaGPT day01: MetaGPT作者代码走读、软件公司初始示例
    LLM发展历史-2013年word2vec提出,但效果不好-2017年Transformer结构提出,降低网络复杂度-2018年BERT预训练语言模型效果显著提升-2019年GPT-3推出,采用大规模预训练-2020年InstructionTuning提出,实现零样本学习-2022年InstructGPT解决模型毒性问题-当前GPT-4成本......