一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

简介: 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

【一、项目背景】


在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品、修改商品价格、删除商品、查询商品,我们应该关注这些数据的操作和处理。


【二、项目目标】


主要有以下5个目标:

1、如何创建vue项目。

2、数据添加方法:获取到id和name在data上面获取,组织一个对象,把对象通过数组的相关方法,添加到当前data的自定义的一个数组,在VM使用Model数据操作。

3、数据删除方法:根据id找到要删除这一项的索引值,找到后调用数组的splice方法。

4、数据修改方法:根据Id找到修改这一项的索引值,找到索引值后数据就会更改。

5、数据查询方法:在ES6中,为字符串提供了一个新方法:

String.prototype.includes('要包含的字符串')

如果包含,则返回 true ,否则返回 false。


【三、效果展示】


先上结果显示图后,小编就开始教你如何写这个项目。

image.png


【四、创建vue项目】


下面介绍如何创建vue的项目。

1)打开cmd命令步骤:第一步点击开始菜单,找到“运行”,点击进去,也可以直接通过“win+R”打开运行,

2)第二步进去运行之后,在运行输入框里面输入“cmd”,

3)第三步点击确定,就进去命令提示符了。

4)安装npm(npm全称为 Node Package Manager是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器)。

npm -v

5)npm安装如下图所示:

image.png


6)由于网络原因安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org


7)安装vue-cli

cnpm install -g @vue/cli


8)安装webpack

cnpm install -g webpack<br>webpack是JavaScript打包器(module bundler)


9)安装完之后开始创建项目。输入vue ui如下图所示:

image.png


10)输入之后会弹出一网页如下图

image.png


11)点击vue项目管理器;


image.png

12)点击在此创建新项目;

image.png

13)输入项目名(我的项目名是test)后点击下一步;

image.png

14)创建项目完成。

image.png

15)创建项目加载需要一定时间,加载完后再使用命令行进到这个项目输入npm install 后再运行这个项目输入命令cnpm run serve如下图:

image.png

16)最后根据Local或Network输入到网址中;

image.png

以上就是创建vue项目,接下我们开始写这个添加、删除、修改、查询数据商品代码。

image.png


【五、界面的布局】


这个项目我们用到boostrap.css文件,怎么引入这个boostrap的包呢?

1)打开cmd命令再这个项目输入npm install bootsrtap;

2)在style样式内写入这行代码:

@import "~bootstrap/dist/css/bootstrap.min.css"

3)写页面需要用到的组件布局:

image.png


4)在v-for 中的数据,直接从 data 上的list中直接渲染过来的,我们自定义了一个 search 方法,同时,把所有的关键字,通过传参的形式,传递给了 search方法,在 search 方法内部,通过for 循环,把所有符合 搜索关键字的数据,保存到 一个新数组中,返回。

image.png

5)接下在data定义id、name、keywords、list。

image.png


【六、数据添加方法】


1、获取到id 和name,在data 上面获取。

2、组织出一个对象,把这个对象调用数组的相关方法,添加到当前data 上的 list 中。

3、在Vue.js中已经实现了数据双向绑定,每当我们修改了data中的数据后,监听到数据改名,自动把最新数据显示在页面。

4、在进行VM中的Model数据操作,同时,在操作Model数据的时候,指定的业务逻辑操作。

5、代码如下图:

image.png


【七、数据删除方法】


1、如何根据Id,找到要删除这一项的索引值。

2、当找到索引了就调用数组的 splice方法。

3、代码如下图:

image.png


【八、数据修改方法】


1、定义一个在data自定义一个数组用来保存修改后的数据edit:[];

2、在方法里面定义对象,根据Id,找到修改这一项的索引值,找到索引值后数据就会更改。

3、代码如下图:

image.png


【九、数据查询方法】


1、forEach 、some 、filter 、findIndex这些都属于数组的新方法,都会对数组中的每一项,进行遍历,执行相关的操作。

2、在ES6中,为字符串提供了一个新方法,String.prototype.includes('要包含的字符串'),如果包含,则返回 true ,否则返回 false。

3、代码如下图:


image.png


【十、总结】


1、创建vue项目使用cmd命令安装npm、cnpm、vue-cli、webpack,输入vue ui开始创建vue项目。

2、删除方法,可以使用索引,为每一行设置一个id属性值,然后删除总数据id属性值的那个项。

3、操作Model数据的时候,指定的业务逻辑操作。

相关文章
|
17天前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
139 2
|
4月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
577 0
|
4月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
3月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
114 0
|
3月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
248 1
|
4月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
377 17
|
4月前
|
JavaScript 前端开发 UED
Vue 表情包输入组件实现代码及详细开发流程解析
这是一篇关于 Vue 表情包输入组件的使用方法与封装指南的文章。通过安装依赖、全局注册和局部使用,可以快速集成表情包功能到 Vue 项目中。文章还详细介绍了组件的封装实现、高级配置(如自定义表情列表、主题定制、动画效果和懒加载)以及完整集成示例。开发者可根据需求扩展功能,例如 GIF 搜索或自定义表情上传,提升用户体验。资源链接提供进一步学习材料。
213 1
|
4月前
|
存储 JavaScript 前端开发
如何高效实现 vue 文件批量下载及相关操作技巧
在Vue项目中,实现文件批量下载是常见需求。例如文档管理系统或图片库应用中,用户可能需要一次性下载多个文件。本文介绍了三种技术方案:1) 使用`file-saver`和`jszip`插件在前端打包文件为ZIP并下载;2) 借助后端接口完成文件压缩与传输;3) 使用`StreamSaver`解决大文件下载问题。同时,通过在线教育平台的实例详细说明了前后端的具体实现步骤,帮助开发者根据项目需求选择合适方案。
320 0
|
4月前
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
141 0