Vue框架入门学习(五)——Vue-cli

news/2024/7/10 2:24:12 标签: vue

文章目录

  • 七、Vue-cli
    • 1.环境搭建
    • 2.实例
      • 2.1 表单
      • 2.2 delete操作
    • 3.Vuex

七、Vue-cli

1.环境搭建

首先安装vue-cli
在这里插入图片描述
安装成功的话,输入vue就可以弹出菜单

在这里插入图片描述
vue list可以查看vue-cli的功能,像热更新和编译等等
在这里插入图片描述
然后开始构建一个项目,并且在此处选第一项,构建完整项目。第二项是构建轻量级项目,但是我们的组件是需要时刻更新且到浏览器还要再次进行编译的,所以选择第一个。
在这里插入图片描述
最后是全部的配置,另外最后一个要选择手动安装,因为国外的源太慢了,直接cd进来然后cnpm i就可以了
在这里插入图片描述
开始安装node_modules
在这里插入图片描述
下载之后是这样的
在这里插入图片描述

并且都自动配置了webpack和环境等等的配置,还有alias,resolve的路径之类的信息,可以从build和config都可以看到,现在来写一个小实例简单的应用到vue2框架。

2.实例

2.1 表单

一定要记住,一旦修改了自带的文件名,要从src的几个原始文件中对应的都要进行修改。
首先先写一个很简单的页面,在此之前,先改一下文件名,并且建立一个src/components/common来作为公共组件的directory
在这里插入图片描述
然后来创建一个表格在table.vue内作为公共组件
在这里插入图片描述
思路是这样的,

  1. 公共组件已经编辑好了,然后让Index.vue引入即可
  2. 将Table在Index.vue 的template位置找到一个合适的位置放置
  3. 用父级标签包裹住Table
  4. 在App.vue内使用router-view路由,并且使用上面提到的Index.vue的template来填充这个router-view
  5. 而路由本身的连接,用默认地址直接链接到Index.vue即可

然后就可以运行了。在这里插入图片描述 在编写结束之后出现了这样的错误,这样错误的主要原因是因为Vue里的CSS解析器无法解析你定义的less sass类型,你需要手动安装第三方的CSS解析器,作者是CSS类型是less,所以直接cnpm install less less-loader --save-dev就解决了问题。然后改完了又遇到了这个问题 在这里插入图片描述
这是因为ESLint检查运行的时候出现了问题。要改成
在这里插入图片描述
顺带提一嘴,Eslint真是让人强行改了代码不规范毛病的这么个ECMA检测工具
改了十分钟代码规范···终于成功了…
在这里插入图片描述
去除掉CSS样式,最终是这样的
在这里插入图片描述

现在我们希望可以使用读取来的数据来制定出表格,而不是去手写,那就需要使用json和组件,首先创建出json,和两个v-for,一个遍历value,一个遍历key

Index.vue所产生的json数据
在这里插入图片描述
使用组件做出的读取遍历
在这里插入图片描述

在这里插入图片描述
这是提示我们在使用了v-for之后要给vue一个信息,谁是被拿来循环的key,并且要用v-bind标注起来。
重新运行也可以达到效果

2.2 delete操作

下面在表单中模拟一个delete操作
首先把delete按钮画出来
在这里插入图片描述
然后让父级去执行删除操作,调用父级参数,使用:parent="this"将父级暴露出来,用props将parent传进来进行删除操作。
主要是父子级通信的知识。

使用filter方法对数据进行过滤操作
在这里插入图片描述

3.Vuex

全局状态管理,统一组件关系,单一状态集合(一次请求,处处使用)

作用:

  1. 数据跨组件共享
  2. 防止数据被意外修改
  3. debug,Ops方便,追踪数据源的修改

在这里插入图片描述
State:所有的变量,参数
Mutations :对数据进行的某种行为操作,同步
Devtools:监控谁调用了Mutation
Actions:触发Mutation对State进行操作,异步
Vue component:修改组件的唯一办法就是,告知Actions触发Mutation修改State,对自身进行Update
Backend API:进行数据交互的API

安装

直接用npm安装即可
在这里插入图片描述
然后在vm入口处进行引入

在这里插入图片描述

接下来要实现使用Vuex管理修改数据
先创建一个新的组件来实现修改数据的功能
在这里插入图片描述
然后在父类组件中放置我们的子级组件
在这里插入图片描述
因为我们的state无法被从外界直接进行修改一定要通过mutation,所以我们来到注入Vue 的文件开始写mutation和调度mutation的action
在这里插入图片描述
另外在这里提一句,并非一定要用action才能调度mutation,外界也可以直接访问mutation进行功能的实现,commit方法可以专门用来搜索mutation内的方法,调用过来传参就可以了
在这里插入图片描述
但是看起来很怪,因为打破了常规的Vuex生态系统,所以还是使用action来进行调度。
在这里多说一句,一个mutation可以修改多个state,一个action可以修改多个mutation
在这里插入图片描述
然后action行为就完成了,最后一步就是派送action的操作,来到触发修改数据的button处,对action进行派送,使用dispatch

在这里插入图片描述
然后数据就修改成功了,运行即可


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

相关文章

VS Sln图标空白修复办法

环境:Win10,VS2017,曾经安装并卸载过VS2015之前安装了两个版本的VisualStudio,卸载一个后,就出现了图标空白问题,重新设置默认打开程序也没有作用,经摸索解决办法如下。(1)在注册表里查找.sln &…

ARM体系结构与编程模型总结

感觉这篇文章写得很好: https://blog.csdn.net/qq_32651225/article/details/78176567 ARM体系结构与编程模型 ARM体系结构 一、ARM处理器简介及RISC特点 ARM处理器简介 ARM(Advanced RISC Machines)是一个32位RISC(精简指令集&a…

final,finally,finalize有什么区别

初步了解 这是一道非常典型的面试题,而它也是有一系列的典型回答的: final可以用来修饰类、方法、变量,分别有不同的意义所在,final修饰的class代表不可继续扩展,final修饰的变量代表不可修改,final修饰的…

Ubuntu 16.04安装Wine版的微信(deepin-wechat)

说明: 1、使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小。 2、关于没有.wine文件夹的解决方法:在命令行上运行winecfg; 3、有可能在今年We…

各类常见Http状态码详解

文章目录1xx2xx3xx4xx5xx1xx 表示临时响应并且需要请求者继续执行操作 100(继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101(求换协议) 请求者已要求服务器切换协议…

ARM体系架构

这个适合来做科普 一:什么是嵌入式: 嵌入式是为了完成某个特定功能,在软件和硬件上进行了裁剪,低成本,低功耗(电源管理模块,软件判断硬件是否使用),便携式&#xf…

[SPOJ 375]Query on a tree

Description 题库链接 给定 \(n\) 个点的树。支持以下操作: CHANGE \(i\) \(t_i\) 将第 \(i\) 条边权值改为 \(t_i\) ;QUERY \(a\) \(b\) 询问从 \(a\) 点到 \(b\) 点路径上的最大边权多组数据。 \(1\leq n\leq 10000,t\leq 20\) Solution \(LCT\) 维护边…

计算机网络arp随笔

mac地址的作用 具有唯一标识性,标记我们的计算机,就像身份证一样 IP地址的作用 从网络中标记计算机,但不联网也是有ip的,只要有tcp 协议关系就会有IP地址 IP地址和mac地址的关系 IP地址通过询问应答(ARP协议)来得到对应的mac地址‘…