品牌案例-完成品牌列表的添加功能

简介: 一、表格的创建二、数据的传递三、添加功能的实现

品牌案例-完成品牌列表的添加功能

 

内容简介:

一、表格的创建

二、数据的传递

三、添加功能的实现

 

 

一、 表格的创建


1.业务分析

首先我们需要知道应该把品牌管理案例做成什么样。打开代码(品牌列表案例.html),其实就是一个简单的列表,下面是表格,上面是添加的文本框。


我们可以在文本框输入 Id Name的值,将其添加到表格中;点击删除按钮可以删除表格中指定的数据;还可以在搜索名称关键字的文本框中输入关键字,表格就会根据关键字显示数据,如果有多个数据,都会被过滤出来。

image.png

刚一进来就获得焦点,如何让文本框进入页面就获得焦点;首先要让它获取焦点就要先获取它,然后才能给添加获取焦点的事件。在Vue中免除操作DOM元素的过程,同时也能让它获取焦点,这也是一个重点。

 

2.实现页面

打开前端开发软件(Visual Studio Code),新建一个html文件,输入vh,快速生成页面。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial

 scale=1.0">

< meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script src="./lib/vue-2.4.0.js"></script>

</head>

<body>

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

<script>

var vm = new Vue({

   el: '#app',

   data: {},

  methods:{}

});

 </script>

</body>

</html>

 

首先,进行导包(<script src="./lib/vue-2.4.0.js"></script>)、创建一个要控制的元素(<div id="app"></div>)和创建一个Vue实例。

var vm = new Vue({

   el: '#app',

   data: {},

  methods:{}

});

 

然后,实现界面,

<link rel="stylesheet" href="./lib/bootstrap-3.3.7.css">。不需要使用Jquery,因为Jquery是封装DOM操作的,它是用来操作DOM的,然而,在Vue中可以免除操作DOM的过程,所以推荐不使用Jquery。最后在div标签中创建表格。

<table class="table table-bordered table-hover table-striped">

<thead>

  <tr>

   <th>Id</th>

   <th>Name</th>

   <th>Ctime</th>

   <th>Operation</th>

 </tr>

   </thead>

 

 

二、数据的传递


需要把vm中的data数据同步渲染到表格中,在里面为了不手动造作DOM,需要借助Vue提供的指令(v-for)

 

data中,使用list添加数据并在tr标签中使用Vue提供的指令(v-for)循环,

再添加:key(:代表属性的绑定)使得数据正确的传输,把data的数据同步到表格中。

<tbody>

  <tr v-for="item in list" : key="item.id">

  <td>{{ item.id }}</td>

   <td>{{ v-text=" item.name " }}</td>

    <td>{{ item.ctime }}</td>

    <td>

    <a href="">删除</a>

</td>

   </tr>

</tbody>

 

 

三、添加功能的实现


(1)实现添加功能,首先需要有一个添加框。

<div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">添加品牌</h3>

</div>

<div class="panel-body form-inline " >

<lable>

 

 

  Id:

 <input type="text" class="form-control" >

</lable>

<lable>

  Name:

    <input type="text" class="form-control" >

</lable>

  <input type="button" value="添加" class="btn

btn-primary" >

</div>

</div>

 

(2)  实现添加功能,点这个添加按钮要获取到文本框中的值,然后把值组合成一个车的对象,然后把对象放到数组中去,在这里面我们还需要使用Vue进行监管,所以要在input中添加(v-model="id"; v-model="name";@click= "add"),点击添加按钮时,会触发add方法。创建按钮的点击事件,在data中进行数据绑定。在methods中添加add方法,实现添加功能。

 

使用add方法首先需要直接从data中获取idname的值。

Vue中,使用事件绑定机制,为元素指定处理函数的时候,如果加了小括号,就可以给函数传参。


(3)分析add方法:

1.获取到idname,直接从data上获取

2.组织出一个对象

3.把这个对象,调用数组的相关方法,添加到当前data上的list

4.注意:在Vue中,已经实现了数据的双向绑定,每当我们修改了data中的数据,Vue会默认监听到数据的改动,自动把最新的数据,应用到页面上。

5.当我们意识到上面的第四步的时候,就证明大家已经入门Vue了,我们更多的是在进行VMModel数据的操作,同时,在操作Model数据的时候,指定的业务逻辑操作。

 

然后组织出一个对象,保存一个新的对象,通过

this.list.push(car)

进行绑定。例如可以使用:

var car ={id: this.id, name:this.name, ctime:new Date()}

this.list.push(car)

拼接出一个car对象,并保存到list中。

 

最后把这个对象调用数组的相关方法添加到当前data上的list中成功实现添加功能。

完整代码,如下:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width,initial

 scale=1.0">

< meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script src="./lib/vue-2.4.0.js"></script>

<link rel="stylesheet" href="./lib/bootstrap-3.3.7.css">

</head>

<body>

 <div id="app">

 <div class="panel panel-primary">

<div class="panel-heading">

<h3 class="panel-title">添加品牌</h3>

</div>

<div class="panel-body form-inline " >

<lable>

  Id:

 <input type="text" class="form-control" v-model="id">

</lable>

<lable>

  Name:

    <input type="text" class="form-control" v-model="name">

</lable>

  <input type="button" value="添加" class="btn btn-primary" @click="add()">

</div>

 </div>

<table class="table table-bordered table-hover table-striped">

<thead>

  <tr>

   <th>Id</th>

   <th>Name</th>

   <th>Ctime</th>

   <th>Operation</th>

 </tr>

   </thead>

   <tbody>

    <tr v-for="item in list" : key="item.id">

     <td>{{ item.id }}</td>

     <td>{{ v-text=" item.name " }}</td>

     <td>{{ item.ctime }}</td>

     <td>

      <a href="">删除</a>

</td>

    </tr>

   </tbody>

 </table>

</div>

 <script>

var vm = new Vue({

 el: '#app',

 data: {

   id: ' ',

   name:' ',

list: [

  { id: 1, name:  '奔驰', ctime: new Date() },

  { id: 2, name:  '宝马', ctime: new Date() }

 ]

},

 methods: {

  add(){

    var car ={id: this.id, name:this.name, ctime:new Date()}

   this.list.push(car)

   }

}

});

 </script>

</body>

</html>

相关文章
|
JSON API 数据格式
快手API接口:根据关键词获取海量商品列表的秘诀
快手API接口:根据关键词获取海量商品列表的秘诀
155 1
|
人工智能 智能设计
LOGO在线设计就选阿里云!阿里云智能LOGO免费在线体验!
LOGO在线设计就选阿里云!阿里云智能LOGO免费在线体验!阿里云logo免费在线设计
3845 0
LOGO在线设计就选阿里云!阿里云智能LOGO免费在线体验!
|
1月前
|
API 数据安全/隐私保护 开发者
淘宝 API:关键词搜商品列表接口,助力商家按价格销量排序分析数据
此接口用于通过关键词搜索淘宝商品列表。首先需在淘宝开放平台注册并创建应用获取API权限,之后利用应用密钥和访问令牌调用接口。请求参数包括关键词、页码、每页数量、排序方式及价格区间等。返回结果含总商品数量及具体商品详情。使用时需注意签名验证及官方文档更新。
|
6月前
|
数据采集 监控 供应链
shopee商品列表数据接口丨关键词搜索shopee商品数据采集
shopee商品列表数据接口丨关键词搜索shopee商品数据采集
|
供应链 搜索推荐
品牌信息查询解决方案
品牌信息查询解决方案
|
搜索推荐
如何用ChatGPT搭建品牌文本体系?(品牌名+slogan+品牌故事)
该场景对应的关键词库(26个): 品牌名、奶茶、中文名、情感联想度、饮料、价值观/理念、发音、slogan、产品功能导向、行业性质导向、经营理念导向、消费者观念导向、口语化、修辞手法、品牌故事、创始人初心品牌故事、里程碑事件故事、产品初心故事、时间、地点、人物、事件、结果、品牌定位、个性、品类价值
430 0
|
前端开发 微服务
谷粒商城--调式会员等级接口获取分类关联品牌
谷粒商城--调式会员等级接口获取分类关联品牌
161 0
|
人工智能 智能设计 云计算
阿里云logo在线设计
阿里云logo在线设计,阿里云logo智能设计一键生成海量LOGO可供选择,阿里云百科分享阿里云LOGO设计生成网址链接以及使用方法,智能LOGO设计,仅需3步,10秒生成,AI匹配海量logo,商用无忧:
2735 0
阿里云logo在线设计
|
JavaScript 前端开发 开发者
品牌案例-完成品牌列表的添加功能|学习笔记
快速学习品牌案例-完成品牌列表的添加功能
136 0
品牌案例-完成品牌列表的添加功能|学习笔记
|
JavaScript API 数据格式
品牌列表-完成添加功能|学习笔记
快速学习品牌列表-完成添加功能
105 0
品牌列表-完成添加功能|学习笔记
下一篇
无影云桌面