一、导入相关包

<script src="../lib/vue2.6.10.min.js"></script>
<script src="../lib/axios-v0.17.1.js"></script>

二、设置容器

<div id="app">
</div>

三、 测试数据能否接收成功

Vue.prototype.$http = axios
var vm = new Vue({
el: '#app',
data: {
list:[]
//所有品牌的数组
},
//让页面一加载进来就能获取get请求的数据
created(){
this.getList()
},
methods:{
async getList(){
//const result = await this.$http.get('http://api.cms.liulongbin.top/api/getprodlist')
// console.log(result)
//返回的result中有我们想要的对象--data
//直接拿到我们想要的data对象
const {data}= await this.$http.get('http://api.cms.liulongbin.top/api/getprodlist')
console.log(data)
}
}
})

四、 将拿到的data中的数据放入list列表中

判断是否请求成功,请求的message信息中有是否请求成功的标识数据status=0

async getList(){
const {data} = await this.$http.get('http://api.cms.liulongbin.top/api/getprodlist')
// console.log(data)
// if(data.status == 0){
// this.list = data.message
// }
// 简写成:
if (data.status === 0) this.list = data.message
}

五、 引入bootstrap样式文件并创建页面渲染数据

<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>CTime</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="item in list" :key="item.id">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<td>{{ item.ctime }}</td>
<td>
<a href="#" @click.prevent="del(item.id)">删除</a>
</td>
</tr>
</tbody>
</table>

来吧展示:

六、 实现添加功能

  1. 创建添加区域
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">添加新品牌</h3>
</div>
<div class="panel-body form-inline">
<div class="form-group">
<label>品牌名称:</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
<input type="button" value="添加" class="btn btn-primary">
</div>
</div>
</div>
  1. 为添加的input文本框绑定添加事件
<input type="button" value="添加" class="btn btn-primary" @click="add()">
  1. 在data中定义name和要添加的内容做双向数据绑定
<label>品牌名称:</label>
<input type="text" class="form-control" v-model="name">
el: '#app',
data: {
list: [],
name:''
}
  1. 创建添加方法
async add(){
// trim()去掉空格
if(this.name.trim().length <=0) return alert('品牌列表不能为空')
const {data} = await this.$http.post('http://api.cms.liulongbin.top/api/addproduct',{name:this.name.trim()})
// 如果添加成功,则重新调用获取了列表的方法
if(status == 0) this.getList()
this.name=''
}

来吧展示:

七、实现删除功能

  1. 在a标签中绑定删除方法并阻止a链接跳转
<td>
<a href="#" @click.prevent="del(item.id)">删除</a>
</td>
  1. 创建删除方法del()
async del(id) { // 根据Id删除品牌
const { data } = await this.$http.get('http://api.cms.liulongbin.top/api/delproduct/' + id)
// 当删除OK,重新刷新列表
if (data.status === 0) this.getList()
}

八、配置axios的请求路径

方式一:

axios.defaults.baseURL = 'http://api.cms.liulongbin.top';

方式二:

// 注意:   axios.create() 方法,调用的返回值,是一个新的 axios 实例,在 调用 create 函数的时候,可以初始化一些默认配置项,比如,请求的 baseURL 地址
Vue.prototype.$http = axios.create({
baseURL: 'http://api.cms.liulongbin.top'
})

然后把请求的路径更换一下即可

比如:

async getList(){
const {data} = await this.$http.get('/api/getprodlist')
if (data.status === 0) this.list = data.message
},
.......

vue学习笔记(四)---- 品牌管理案例的更多相关文章

  1. vue学习笔记(四)事件处理器

    前言 在上一章vue学习笔记(三)class和style绑定的内容中,我们学习了如何在vue中绑定class和style,介绍了常用的绑定方法,class的数组绑定和对象绑定以及style的数组绑定和 ...

  2. Vue学习笔记四:跑马灯效果

    目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...

  3. VUE 学习笔记 四 计算属性和监听器

    1.计算属性 对于任何复杂逻辑,你都应当使用计算属性 <div id="example"> <p>Original message: "{{ me ...

  4. Vue学习笔记九:列表案例

    目录 前言 Bootstrap插件下载 Bootstrap表格和面板 增加数据,v-model和v-on 删除数据,事件修饰符和找索引的两种方法 查询数据,foreach和filter 全部的HTML ...

  5. Vue学习笔记十三:Vue+Bootstrap+vue-resource从接口获取数据库数据

    目录 前言 SpringBoot提供后端接口 Entity类 JPA操作接口 配置文件 数据库表自动映射,添加数据 写提供数据的接口 跨域问题 前端修改 效果图 待续 前言 Vue学习笔记九的列表案例 ...

  6. vue学习笔记(六)表单输入绑定

    前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的 ...

  7. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  8. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  9. vue学习笔记2

    Vue.js - Day2 品牌管理案例 添加新品牌 删除品牌 根据条件筛选品牌 1.x 版本中的filterBy指令,在2.x中已经被废除: filterBy - 指令 <tr v-for=& ...

  10. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

随机推荐

  1. 我用EasyExcel优化了公司的导出(附踩坑记录)

    背景介绍 最近要改一个导出的功能,在原有的基础上,在导出一份明细数据,要求导出内容加在原有 excel 的第二个 sheet 上.考虑到数据量还比较大,干脆引入阿里的 EasyExcel 来做. 下面 ...

  2. 可编程渲染管线(Scriptable Render Pipeline, SRP)

    原文链接 可编程渲染管线处理数据的流程可分为以下3大阶段 1. 应用阶段 这个阶段大概会由CPU处理4件事情.首先会对模型数据进行可见性判断.模型数据由顶点位置.法线方向.顶点颜色.纹理坐标等构成.然 ...

  3. 记一次线上频繁fullGc的排查解决过程

    发生背景 最近上线的一个项目几乎全是查询业务,并且都是大表的慢查询,sql优化是做了一轮又一轮,前几天用户反馈页面加载过慢还时不时的会timeout,但是我们把对应的sql都优化一遍过后,前台响应还是 ...

  4. JUC学习笔记——共享模型之管程

    JUC学习笔记--共享模型之管程 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的管程部分 我们会分为以下几部分进行介绍: 共享问题 共享问题解决方案 线程安全分析 Monitor ...

  5. 2022-11-14 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...

  6. 刚哥谈架构(八)- 为你的应用选择合适的API

    前言: 架构师的主要活动是做出正确的技术决策.选择合适的API是一项重要的技术决策.那么今天就看看API的选择问题. 应用程序编程接口(API)是一种计算接口,它定义了多个软件中介之间的交互.它定义了 ...

  7. 关于最新版本listen1 (2.1.6)的修改心得(添加下载功能)

    注:本文只作为技术交流 前言 再次感谢 listen1 的作者开发出如此强大的音乐播放器 项目地址 上一篇的文章没有解决跨域问题(命名不能正确命名), 上一篇文章 地址 这次解决了,并简单的美化了下载 ...

  8. JavaEE Day06 JDBC连接池&JDBCTemplate

    今日内容: 数据库连接池 简化操作--Spring JDBC提供的 JDBC Template(JDBC的封装) 一.数据库连接池 1.引入 之前:每一次都要获取连接.释放连接-- 现在:连接重复使用 ...

  9. 【Java】【数据库】B树

    B-树的形式 (B-树就是B树, 而且'-'是一个连接符号,不是减号.) B树的结构如下 不同于B+树(关于B+树,我的这篇博客里有写:B+树)的一些特点: 数据 \(K_i\) 左边的树不会将 \( ...

  10. uniapp安装和使用

    工具安装 开发uni-app需要安装HBuilder X. 下载地址:https://www.dcloud.io/hbuilderx.html. 下载成功后直接解压即可 创建第一个uni-app 点击 ...