IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> VUE项目LSSON_CODE -> 正文阅读

[JavaScript知识库]VUE项目LSSON_CODE

VUE项目

一.Axios 异步请求:

Get(url,config);

Post(url,data,config) json,headers

监听.then(success,fail) {data}

二.安装axios ( npm install axios -S )

Main.js

//引入axios并安装
import axios from 'axios';
Vue.prototype.$http=axios;

Home.vue

  //组件创建完成请求数据
  created(){
    //发送请求
    this.$http
    //get请求
    .get('/data/home.json')
    //监听数据返回
    .then(({data})=>console.log(data))
  }

三.跨域请求代理:

devServer:{port,host,open,proxy:{key:{target,pathRewrite,secure}}}

vue组件 vue-loader

样式:lang=”” scoped

Webpack extensions:[ ]

分离应用程序 render,$moute

Vue:ref this.$refs访问组件

四、Mint UI 安装,引入样式

Mt-button,mt-header,mt-search,mt-navbar,mt-tabbar,mt-tab-item,mt-tab-container,mt-tab-container-item.mt-cell,mt-popup,mt-loadmore,mt-index-section,mt-swipe,mt-swipe-item,mt-radio,mt-checklist,mt-field.mt-switch,mt-badge定义每一个成员

五、Element ui 安装,引入样式 url-loader

El-button,el-row,el-col,el-icon-,el-container,el-header,el-aside,el-main,el-footer,el-input,el-select,el-option,el-upload,

六、Vue cli

在vue项目中,我们要编译vue文件,要编译ES6文件,要编译css预编译语言等等,在项目开发之前,我们要做很大准备。Vue为了简化开发前的准备,提供了vue-cli脚手架。

安装

Vue-cli,提供工了vue指令,通过vue -v查看版本号因此要全局安装 Npm install -g @vue/cli

创建项目 vue create 项目名

Vue cli 创建项目也是基于yam管理 npm install yam

Yam 也是一个管理器,为了替代npm

在项目中,安装模块,通过yam来安装

npm安装:npm install 模块

yan安装:yam add模块

启动项目 通过yam serve 即可启动项目或者vue serve

七、目录架构

Node_modules 依赖的模块

Public 静态资源模块

Index.html 入口html文件

Favicon.ico icon文件

Src 开发的目录

Assets 所有静态资源(webpack会处理里面的东西,如:引用资源,压缩,转换成base64)

Components 组件

Views 路由页面

App.vue 应用程序组件(vue cli中组件首字母都大写)

Main.js 项目入口文件

Router.js 路由

Store.js store文件

.broserslistrc 浏览器配置

.eslintrc.js js校验配置

.gitnore git提交时候忽略的文件

Babel.config.js babel配置文件

Package.json 模块配置文件

Postcss.config.js css编译配置

Yam.lock yam锁文件

在这里插入图片描述

webpack配置

Vue cli也是通过webpack配置的,因此我们可以定义webpack配置,在vue.config.js文件中(我们可以自定义)

通过configureWebpack定义webpack配置

八、项目实战

我们实现一个移动端团购网站。

技术架构

Vue,vuex,vue router,vue组件,vue-cli,scss/less,webpack实现一个单页面应用程序。

九、目录部署

参考vue cli目录结构,webpack编译的项目

Src 开发目录

Assets 静态资源

Components 所有组件

Views 所有路由组件

App.vue 应用程序组件

Main.js 入口文件

Store.js store模块

Router.js 路由模块

Index.js html入口文件

Webpack.config.js webpack配置

十、路由

有三个页面,定义三个路由

首页 默认路由

列表页 /list/:id

详情页 /detail/:id

十一、Webpack拓展

在加载机中,

Include 加载机处理的目录

Exclude 加载机不能处理的目录

十二、Vue cli拓展

我们可以通过vue config将所有配置输出(包含webpack配置)

十三、Header模块

快捷方式:

Div#app
Div.search>input
div.header>(div.go-back>span.arrow>span.arrow.green)+h1+div.login
 ul>router-link[tag-list]>img+p

十四、箭头封装

Base.scss

// header背景色
$navColor: green;

// 定义箭头混合
@mixin arrow($w:10px,$c:#000,$dir:top){
    //兼容行内元素和块元素
    font-size:0;
    width:0;
    border:$w solid transparent;
    //设置特殊边颜色
    border-#{$dir}-color:$c;
}

App.vue(箭头使用)

.go-back{
    position: relative;
    .arrow{
      @include arrow(10px,#fff,right);
      position: absolute;
      top:22px;
      left:10px ;
      .green{
        border-right-color: $navColor;
        top: -10px;
        left: -8px;
      }
    }
  }

十五、数据

通常来说,网站中有两类数据

一类数据是不变的,每次打开浏览器看到的结果都是一样的,因此这类数据我们可以直接在页面中作为同步数据,当我们加载完页面,我们就可以直接使用这类数据了。

另一类数据是可变的,每次打开浏览器看到的结果都是不一样的,因此这类数据我们可以作为异步数据,通过异步请求获取。

当我们的页面加载完成之后,我们发布请求获取这类数据

十六、开发模块顺序

\1. 获取数据并存储;

\2. 分析页面结构,写视图;

\3. 根据视图写样式;

\4. 绑定交互;

十七、动态设置样式:

<h3 :class="'color-'+index">{{item.title}}</h3>

样式写法方法一:

    .color-0{
      color: red;
    }
    .color-1{
      color:green;
    }
    .color-2{
      color:purple;
    }

样式写法二:(推荐)

   //定义索引值
    $i:0;
  //枚举循环sass
  @each $item in red,green,purple{
    .color-#{$i}{
      color:$item;
    }
      //更新索引值
    $i:$i+1;
  }

间距

    border-right: 1px solid #ccc;
    &:last-child{
      border-right: none;
    }

十八、组件使用:先引入,再注册

//引入组件
import Product from '../components/Product.vue'

export default {
  //注册组件
  components:{Product},
  //数据
  data() {

十九、父组件—>子组件 (传数据用props

Home.vue父组件

  <!-- 循环商品 -->
      <Product v-for="(item,index) in list" :key="index" :data="item"></Product>

Product.vue子组件

<script type="text/javascript">
export default{
    //接收数据
    props:['data']
}
</script>

二十、下划线样式设置(下划线不到头的情况下)

在这里插入图片描述

.product{
    background:#fff;
    margin:0 10px;
    border-bottom:1px solid #ccc;
    padding:10px 0;

开发中图片设置:为原始图片宽高的一半,如图片为2020则设置为1010.预览时再设置为20*20

二十一、写结构的时候要考虑样式问题!

二十二、搜索忽略大小写

 //计算属性数据
  computed:{
      //用store中的搜索词来处理
      dealList(){
          //方法一toUpperCase()
          //返回值是结果
          //数组做过滤用filter方法
          //过滤的是title,判断title是否包含search搜索词
        //   return this.list.filter(item=>item.title.toUpperCase().indexOf(this.$store.state.search.toUpperCase())>=0);

          //方法二:正则处理 i为忽略大小写
          let reg=new RegExp(this.$store.state.search,'i');
          return this.list.filter(item=>reg.test(item.title))
        }
      },

二十三、路由守卫

vue提供了三种监听路由变化的方式:

第一种 全局监听

所有的路有变化,都会监听

在这里插入图片描述

在路由实例化对象上,通过beforeEach,afterEach等方法监听路由的改变

参数是回调函数

回调函数的参数

第一个表示当前路由对象

第二个参数表示上一个路由对象

如果是beforeEach 会出现第三个参数,类似express路由中间件的第三个参数,next方法,是否继续执行,该方法必须执行。

第二种 局部监听

只针对某个组件监听路由的变化

我们在组件实例化对象上,通过beforeRouteEnter,beforeRouteLeave,beforeRouteUpdata等方法可以监听路由的变化。

第一个参数表示当前的路由对象

第二个参数表示上一个路由对象

第三个参数表示执行进入路由的方法,必须要执行。

第三种 watch监听

我们可以通过组件实例化对象的watch监听路由数据的变化

可以监听$route属性的变化,来判断路由

第一个参数表示当前的路由对象

第二个参数表示上一个路由对象

在官网中前两种监听路由变化的方式称之为路由守卫,

全局监听也称为全局路由守卫

局部监听也称为局部路由守卫

二十四、盒子之间存在距离

在这里插入图片描述

解决办法:在这里插入图片描述

二十五、清除浮动

//清除浮动 @include clearfix;

二十六、要学会分析结构样式

在这里插入图片描述

一样的类名就能实现一样的样式

在这里插入图片描述

数据为一组数组,遍历创建P标签

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

二十七、判断详情页面不显示搜索框

在这里插入图片描述

二十八、返回键

方法一(推荐)

在这里插入图片描述

方法二

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

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 11:49:53  更:2021-09-01 11:51:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:45:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码