travel 学习分享

news/2024/7/10 1:10:54 标签: vue, js, git, vue.js

思考

  • 注意事项
  • 项目开始
  • 新建分支
  • ajax获取首页数据
  • vuex
  • keep-alive

学会git的使用、了解webpack的配置、vue组件化思想、使用插件、debugger断点调试、vuex、vue-router学习使用、前后端联调
展示
Git地址 https://gitee.com/thinkerwing/travel
在这里插入图片描述

注意事项

一、经过查看,最后发现是因为我的webpack的版本号(3.6.0)和css-loader的版本号差的太大造成的,在项目目录下的终端使用
npm i css-loader@3.3.0 -D 降低版本号即可。
二、优化
1.webpack.base.conf.js

 resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'styles': resolve('src/assets/styles'),
    }
  },

在这里插入图片描述
2.$bgColor = #00bcd4 全局颜色 一键更改
3. 3g网络测试 div塌陷在这里插入图片描述

.wrapper
    width:100%
    height: 31.25vw
    //或者
 .wrapper
    overflow:hidden
    width:100%
    height: 0
    padding-bottom 31.25%

4.>>> 击穿
4. 使用localStorage,要记得try catch,否则用户在隐身模式或关闭存储,浏览器可能抛出异常
5 state,mapState,…mapState对象展开符详解
https://blog.csdn.net/dkr380205984/article/details/82185740

{{this.$store.state.city}}

  computed: {
    ...mapState(['city'])
  }
  
  {{this.city}}

  handleCityClick (city) {
        this.$store.commit('changeCity', city)
        this.$router.push('/')
      }

handleCityClick (city) {
        this.changeCity(city)
        this.$router.push('/')
      },
      ...mapMutations(['changeCity'])

三、在使用better-scoller 常见遇到不能滑动的问题

在Vue.$nextTick()钩子里去初始化better-scroll。
nextTick 是一个异步函数,为了确保 DOM 已经渲染,这样能确保在实例化时能正确获取需要添加滚动的元素。

mounted() {
    this.$nextTick(() => {
      this.scroll = new Bscroll(document.querySelector(".search-content"), {
        // pullUpLoad: true,
      });
      this.scroll.on("touchEnd", (pos) => {
          this.scroll.refresh()
      });
      console.log(this.scroll);
    });

项目开始

熟练使用git是就业需要的基本知识,而且能够很好的存储自己的代码,删错改错还能版本回退,时间的记录也可以提醒你工作状况,需要掌握。
1.把git仓库clone下来
git clone git@gitee.com:thinkerwing/travel.git
2.vue init webpack Travel
3.常用git指令

新建分支

在这里插入图片描述
新建分支 还只在线上
git pull 拉到本地 git checkout 切换分支 merge合并分支
git add. -> git commit -m ‘‘change’’ git push
git checkout master ->git merge origin/index-swiper

ajax获取首页数据

假设开发环境中,如果有一个转发机制,帮我们把api下面所有json文件的请求转发到本地的mock请求,vue里面提供了一共proxy代理的功能。
项目结束后也是在这边更改将本地的mock换成后端接口。

module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api':{
        target:'http://localhost:8081',
        pathRewrite:{
          '^/api':'/static/mock'
        }
      }
    },

转发功能实际是webpack-dev-server 提供的
改动配置项需要重启服务器

vuex_124">vuex

  • state,驱动应用的数据源;
  • view,以声明方式将 state 映射到视图;
  • actions,响应在 view
    上的用户输入导致的状态变化。
  • Vuex的核心就是仓库store,这个store实例会被注入到所有子组件里面,里面的state属性保存着我们的状态
  • 当我们需要修改store里面的状态时,我们不是在组件里面直接去修改它们,而是通过mutation里面的方法来进行修改,这样有利于追踪状态的改变。
  • getters:类似于computed,当我们需要state里面的数据计算新的数据,可以用getters,避免数据的冗余。

keep-alive

在这里插入图片描述

  • “keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动的组件,我们能够知道,一般情况下,组件进行切换的时候,默认会进行销毁,如果有需求,某个组件切换后不进行销毁,而是保存之前的状态,那么就可以利用keep-alive来实现”
  • 无论回到city页面多少次都不会发送city.json,只发送一次
  • 通过activated结合lastCity临时缓冲变量,实现代码优化(切换不同city发送新的请求,只回到city页面不发送请求)
    name三个用途:首先做递归组件会用到,当某个页面需要取消缓存也会用到,组件名。
activated () {
      if (this.lastCity !== this.city) {
        this.lastCity = this.city
        this.getHomeInfo()
      }

在这里插入图片描述
在这里插入图片描述在这里插入图片描述


http://www.niftyadmin.cn/n/883300.html

相关文章

音乐播放器项目展示

音乐播放器项目展示项目展示后端接口前端部分项目展示 项目地址 https://gitee.com/thinkerwing/test 后端接口 网易云接口官方文档 https://binaryify.github.io/NeteaseCloudMusicApi/#/ 以前写过比较详细的使用api接口的笔记 https://blog.csdn.net/daddykei/article/de…

qt 中widget/按钮等控件隐藏

以QPushButton为例,如果想让他不显示,很多方法都可以实现。比如下边这五种都可以实现按钮的隐藏和显示。我们需要在合适的地方使用合适的方式。 this->setVisible(0);this->setVisible(1);// 隐藏控件在屏幕上显示、不再占位置会改变布局。this-&g…

面经 - 三、HTML/CSS

HTML/CSS1. CSS权重及其引入方式2. a标签全部作用3. 用CSS画三角形4. 未知宽高元素水平垂直居中(方案及比较)5. 元素种类的划分6. 盒子模型及其理解7. 定位方式及其区别(文档流)8. margin塌陷及合并问题9. 浮动模型及清除浮动的方…

Study-VTK:调试时随时浏览模型/图像

平时使用vtk时候,如果需要经常看当前计算效果,可以用下这个类。支持vtkPolyData、vtkImageData自动在需要的地方显示,支持自定义颜色(vtkUnsignedCharArray需要传入)。 使用方法:在需要的计算cpp里引入**#i…

webpack配置与学习

webpack前端模块化详解理解打包概念gulp和webpack的不同entry、ouputbabelloaders认识plugin项目地址学习心得:从零开始配置到最后配置文件分离,期间了解了前端模块化概念,了解模块化的好处和方案,起初也能够使用webpack构建完整项…

qt cmake 软件版本管理/名称全局绑定

说白了其实就是建一个头文件专门存放软件的版本和名称,用的时候全局调用 CMakeLIst.tst里需要写 project(OpenBrowser VERSION "0.5.0") configure_file("${PROJECT_SOURCE_DIR}/DeeplvConfig.h.in""${PROJECT_SOURCE_DIR}/Source/01Bus…

二叉树及深度/广度遍历 笔记

这里写目录标题树是什么?什么是深度/广度优先遍历?二叉树的先中后序遍历二叉树是什么?https://gitee.com/thinkerwing/study/tree/master/%E9%9D%A2%E8%AF%95%E9%A2%98/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E6%A0%91树是什么? …

Qt cmake 根据不同参数编译不同程序

Qt cmake 根据不同参数编译不同程序。   比如我这里的例子,编译的主机是否编译libtorch、是否编译拥有gpu,分三种情况执行三种函数。就是判断一下Calculation_Method的值,对应引入不同的cpp。ventricularremodeling.h里所有函数分开两个cpp…