VueCLI 脚手架II

简介: VueCLI 脚手架II

九、scoped样式管理

在新建组件时,会用到style样式,scoped的作用就是让样式在局部生效,防止类名相同引起冲突

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

十、todo案例

1、思路

在这里插入图片描述

在这里插入图片描述

2、添加数据——Vue组件中按下回车键获取value值

==安装npm install nanoid,并在代码中导入并调用nanoid()函数可以生成随机的id值==

第一种:使用event获取数据

<template>
    <div>
        <input type="text" placeholder="请输入你的信息,按回车键确认" v-model="title" @keyup.enter="add"/>
    <div/>
</template>

<script>
    import {
   
   nanoid} from 'nanoid'
    export default {
   
   
        name:'AddMessage',
        methods: {
   
   
            add(event){
   
   
            // 将用户的输入包装成一个todo对象
                const todoObj = {
   
   id:nanoid(),title:event.target.value,done:false)
            }
        }
    }
</script>

第二种:使用v-model双向绑定数据

<template>
    <div>
        <input type="text" placeholder="请输入你的信息,按回车键确认" v-model="title" @keyup.enter="add"/>
    <div/>
</template>

<script>
    export default {
   
   
        name:'AddMessage',
        data(){
   
   
            return {
   
   
                title:''
            }
        },
        methods: {
   
   
            add(){
   
   
                // 校验数据
                if(!this.title.trim()) return alert('输入不能为空')
                // 将用户的输入包装成一个对象
                const todoObj = {
   
   id:nanoid(),title:this.title,done:false),
                // 将输入框的数据进行清除
                this.tite = '' 
            }
        }
    }
</script>

3、勾选与取消勾选

第一种写法:绑定点击事件
在这里插入图片描述

第二种方法:使用v-model布尔值的点击绑定修改,但是不推荐使用,因为修改掉了 props
在这里插入图片描述

4、删除

在这里插入图片描述

5、统计已完成与全部完成

在这里插入图片描述

第一种:使用foreach循环添加【不推荐使用】
在这里插入图片描述

第二种,使用reduce函数实现:reduce((函数),初始变量接收值,类似于let i=0)
数组的长度为几,reduce中的函数部分就会调用几次。
pre:上一次的值
cuurrent:当前的值
在这里插入图片描述

使用v-model,但需要get()方法和set()方法同时使用
在这里插入图片描述
在这里插入图片描述

6、清除已完成的todo

在这里插入图片描述

7、总结TodoList案例

在这里插入图片描述
==注意:vc中datapropsmethodscomputed中的名字不能重名==

十一、浏览器本地存储WebStorage

在这里插入图片描述

首先,定义几个button
在这里插入图片描述

1、location

在这里插入图片描述

2、session

在这里插入图片描述

十二、todoList案例中添加本地存储

在这里插入图片描述

十三、组件的自定义事件

在这里插入图片描述

1、自定义事件_绑定

组件的自定义事件需要子组件向父组件进行传递数据,父组件定义函数(带参),绑定在子组件上,子组件通过props去拿到父组件传递过来的函数进行调用并将参数传递出去,从而试下子——父组件之间的传递

父组件App.vue
在这里插入图片描述
除此之外还可以用ref去接受,并在mounted中去触发事件
在这里插入图片描述
在这里插入图片描述

子组件Student.vue
在这里插入图片描述

2、自定义事件_解绑

解绑哪个事件就需要在哪个事件应用的组件上绑定解绑事件

在这里插入图片描述

十三、事件总线

想要在兄弟组件中互相传递数据,得用到父组件,但是非常麻烦
因此,学习事件总线可以有效的传递兄弟组件间的数据

在这里插入图片描述

首先在main.js文件中的实例对象vm上绑定一个事件如下
在这里插入图片描述

第二步在兄弟组件1——Student组件中设置方法将name通过事件总线发射出去
在这里插入图片描述

第三步,在兄弟组件2——School组件中的bus总线上绑定事件去接收传过来的数据
在这里插入图片描述
在这里插入图片描述

十四、消息订阅与发布

1、定义:

是一种组件间通信的方式,使用于任意组件间的通信

2、使用步骤

  1. 安装pubsub:npm install pubsub-js
  2. 引入:import pubsub from 'pubsub-js'
  3. 接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身
  4. 提供数据:pubsub.publish('xxx',数据)
  5. 最好在beforeDestroy钩子中,用PubSub.unsubscribe(pid)取消订阅
    在这里插入图片描述

    十五、nextTick

  6. 语法:this.$nextTick(回调函数)
  7. 作用:在下一次DOM更新结束后执行其指定的回调
  8. 什么时候用:当改变数据后,要基于更新后的DOM进行某些操作时,要在nextTick所指定的回调函数中执行
  9. 案例:在点击编辑下一任务时该任务取消焦点获取,下一任务获得焦点

十六、Vue中封装的过渡与动画

1、效果

向左向右过渡移动的效果
在这里插入图片描述

2、实现

<template>
  <div>
    <button @click="isShow=!isShow">显示/隐藏</button>
    <transition name="hello" appear>
      <h1 v-show="isShow">{
   
   {
   
   msg}}</h1>
    </transition>
  </div>
</template>
<script>
  export default {
   
   
    name: 'Test',
    data(){
   
   
      return{
   
   
        msg:'你好啊大家!',
        isShow:true
      }
    },
  }
</script>

2.1、第一种:使用动画效果实现

1、将要过渡的内容放在<transition>标签中,添加name,在使用时对name进行过渡效果添加,添加apper表示在页面加载时开始过渡
2、在css中设置@keyframes中的移动效果
3、利用.hello-enter-active{}.hello-leave-active{}添加进入,离开的效果

<style scoped>
  h1{
   
   
    background-color: orange;
  }
  .hello-enter-active{
   
   
    animation: tran 1s linear;
  }
  .hello-leave-active{
   
   
    animation: tran 1s linear reverse;

  }
  @keyframes tran {
   
   
    from{
   
   
      transform: translateX(-100%);
    }
    to{
   
   
      transform: translateX(0px);
    }    
  }
</style>

2.2、第二种:使用过渡方式

在这里插入图片描述

2.3、第三种:使用第三方库实现过渡效果

该库的官网
第一步:安装库:npm install animate.css
第二步:导入库:import 'animated'
第三步:使用:
在这里插入图片描述

十七、vue脚手架配置代理

在这里插入图片描述

1、方法一

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

2、方法二

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

在这里插入图片描述

相关文章
|
3月前
|
JavaScript 搜索推荐
VueCLI 脚手架I
VueCLI 脚手架I
|
15天前
|
JavaScript 前端开发
什么是前端构建工具?vite和vite脚手架的关系!
【8月更文挑战第1天】前端构建工具简析
33 4
|
3月前
|
资源调度 JavaScript Linux
VueCLI:Vue项目脚手架与构建工具技术详解
【4月更文挑战第24天】VueCLI是Vue.js官方的项目脚手架,简化创建与配置,提供丰富的插件系统,支持全生命周期功能,如代码编译、打包部署。它具有易于配置、跨平台支持等优势。通过安装、创建项目、运行及构建命令,开发者能快速搭建Vue应用。VueCLI允许自定义配置(vue.config.js)和安装各类插件,如vue-router、vuex,以适应不同项目需求,提高开发效率。
|
3月前
|
前端开发 测试技术
前端反卷计划-脚手架-从0实现一个脚手架
前端反卷计划-脚手架-从0实现一个脚手架
|
3月前
|
资源调度 JavaScript 前端开发
【Vue】day03-VueCli(脚手架)
【Vue】day03-VueCli(脚手架)
82 0
|
11月前
|
JavaScript
为老的vueCli项目添加vite支持
为老的vueCli项目添加vite支持
107 0
为老的vueCli项目添加vite支持
|
12月前
|
JavaScript 前端开发 内存技术
2022最新VueCli脚手架创建VUE项目
先安装nvm,安装教程在这里 nvm安装node
146 0
2022最新VueCli脚手架创建VUE项目
|
11月前
|
资源调度 JavaScript 前端开发
nuxt2-storybook-vite:环境搭建、基础使用 / nuxt项目组件库
nuxt2-storybook-vite:环境搭建、基础使用 / nuxt项目组件库
264 0
|
11月前
|
JavaScript Python
Vue脚手架搭建项目中的坑
Vue脚手架搭建项目中的坑
|
JavaScript 开发者
【Vue】day03-VueCli(脚手架)(一)
【Vue】day03-VueCli(脚手架)
86 0