Vue 第一章练习 列表的案例

知识点:
    1、全局过滤器:时间格式化
    2、some ,indexOf  ,filter等函数使用

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 新 Bootstrap 核心 CSS 文件 -->
    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <!--cdn镜像快速导入Vue包-->
    <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
</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">
            <label>
                id:<input type="text" class="form-control" v-model="id">
            </label>
            <label>
                name:<input type="text" class="form-control" v-model="name">
            </label>
            <!-- 在vue中使用绑定机制,如果加了小括号,可以给函数传参-->
            <input type="button" value="添加" class="btn btn-primary" @click="btnAdd">

            <input type="text" class="form-control" v-model="keyWords">
            <input type="button" value="搜索" class="btn btn-primary" @click="btnSearch">

        </div>
    </div>

    <table class="table table-bordered">
        <thead>
        <tr>
            <th>编号</th>
            <th>品牌</th>
            <th>时间</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr v-for="item in search(keyWords)" :key="item.id">
            <td>{{item.id}}</td>
            <td>{{item.name}}</td>
            <!--过滤器只能使用到插件表达式-->
            <td>{{item.ctime | timeFormat(‘yyyy-mm-dd hhmmss‘)}}</td>
            <td>
                <a href="#" @click.prevent="del(item.id)">删除</a>
                <a href="./Model.html">修改</a>
            </td>

        </tr>
        </tbody>
    </table>
</div>
<script>
    //<!--全局过滤器只能使用到插件表达式-->
    Vue.filter(‘timeFormat‘,function (ctime,pattern) {
        var dt = new Date(ctime)
        var y =dt.getFullYear()
        var m = (dt.getMonth()+1).toString().padStart(2,0)
        var d = dt.getDate().toString().padStart(2,0)
        if(pattern && pattern.toLowerCase() === ‘yyyy-mm-dd‘){
            return `${y}-${m}-${d}`
        }else {
            var hh = dt.getHours().toString().padStart(2,0)
            var mm = dt.getMinutes().toString().padStart(2,0)
            var ss = dt.getSeconds().toString().padStart(2,0)
            return `${y}-${m}-${d} ${hh}:${mm}:${ss}`

        }
    })

    //2.创建一个vue实例
    var vm = new Vue({
        el: ‘#app‘,    //表示当前我们new的这个Vue实例,要控制页面上的哪个区域
        data: { //data属性中存放的是el中要用到的数据
        list:[
            {id:1,name:"奔驰",ctime:new Date()},
            {id:2,name:"宝马",ctime:new Date()}
        ],
        id:‘‘,
        name:‘‘,
        keyWords:‘‘,
        },
        methods:{
            btnAdd(){
                this.list.push({id:this.id,name:this.name,ctime:new Date()})
                this.id = this.name = ‘‘
            },
            del(id){//根据id删除数据
                //分析:1、如何根据id,找到索引  2、找到索引,通过splice删除
                //方法一:some函数,找到指定的数据,然后终止寻找
                this.list.some((item,i) => {
                    if(item.id == id){
                        this.list.splice(i,1)
                        return true;
                    }
                })

                //方法二:快速找到索引
                // this.list.findIndex((item)=>{
                //     if(item.id == id){
                //         return true
                //     }
                // })
            },
            //在search内部方法,通过执行for循环,把符合搜索条件的放在新列表中返回
            search(keyWords){
                var newList = []
                //方法1:forEach
                // this.list.forEach(item =>{
                //     if(item.name.indexOf(keyWords) != -1){
                //         newList.push(item)
                //     }
                // })

                //方法2:filter
                this.list.filter(item =>{
                    console.log("搜索。。。。")
                    if(item.name.includes(keyWords)){
                        newList.push(item)
                    }
                })
                console.log("newList",newList)
                return newList
            },
            btnSearch(){
                this.keyWords
            }
        }
    })
</script>
</body>
</html>

原文地址:https://www.cnblogs.com/ywjfx/p/12540295.html

时间: 2024-10-09 07:34:15

Vue 第一章练习 列表的案例的相关文章

Learning From Data 第一章总结

之前上了台大的机器学习基石课程,里面用的教材是<Learning from data>,最近看了看觉得不错,打算深入看下去,内容上和台大的课程差不太多,但是有些点讲的更深入,想了解课程里面讲什么的童鞋可以看我之前关于课程的第一章总结列表: 机器学习定义及PLA算法 机器学习的分类 机器学习的可能性 我打算边看书边复习讲义,然后用自己的话把每章能看懂的点总结下,欢迎大家指正.由于用语会尽量口语保证易懂,所以会有失严谨性,具体的细节可以看本书.<Learning from data>

【vue.js权威指南】读书笔记(第一章)

最近在读新书<vue.js权威指南>,一边读,一边把笔记整理下来,方便自己以后温故知新,也希望能把自己的读书心得分享给大家. [第1章:遇见vue.js] vue.js是什么? vue.js不是一个框架-它只聚焦视图层,是一个用来构建数据驱动的Web界面的库.Vue.js通过简单的API来提供高校的数据绑定和灵活的组件系统 vue.js的特性 轻量级:体积非常小,而且不依赖其他基础库 数据绑定:对于一些富交互,状态机类似的前端UI界面,数据绑定非常简单,方便 指令:类似与AJ,可以使用v-*的

第一章 重构,第一个案例

第一章最前面的书中前面的话说得很有道理,一本授之以渔的书,开场就来历史.原理性的东西,很难勾起继续阅读的欲望,写书是这样,开会做分享亦然,所以作者精挑细选了一个代码规模不是很大并且能告诉我们很多重构的道理. 案例说明 这是一个非常简单的案例,展示了一个影片出租店用的程序,计算每一位顾客的消费金额并打印详单的模块,同时还需要计算每一位客人的积分.给出一个 UML 图,是最初版本. 抽象了三个实体:影片(片名.片类型).租赁(影片.租赁天数).顾客(姓名.租赁清单),代码详见下面的三个类以及 Mai

读《大型网站技术架构:核心原理与案例分析》第一章:大型网站架构演化

写在前面 从开始写代码到现在,已经做了好几个项目了,BS和CS的都有,一直都以一个码农自居.但,作为一个进步的程序员,都有一个成为架构师的理想.于是,在平时的工作中,也积极的去看各种书籍,看园子里面的精品文章.希望,在这条追逐梦想的道路上,能够留下点点滴滴,也算是对知识的一种巩固,一些分享. 读书感受   快下班的时候,看了该书的第一章.算是对网站的架构演化有了一些认识. (1)初始网站的架构:一台服务器,应用程序,数据库,文件都在一台服务器上面.LMAP足矣. (2) 二级网站的架构:应用服务

Solr In Action 中文版 第一章 (二)

Solr到底是什么? 在本节中,我们通过从头设计一个搜索应用来介绍Solr的关键组件.这个过程将有助于你理解Solr的功能,以及设计这些功能的初衷.不过在我们开始介绍Solr的功能特性之前,还是要先澄清一下Solr并不具有的一些性质: 1)  Solr并不是一个像Google或是Bing那样的web搜索引擎 2)  Solr和网站优化中经常提到的搜索引擎SEO优化没有任何关系 好了,现在假设我们准备为潜在的购房客户设计一个不动产搜索的网络应用.该应用的核心用例场景是通过网页浏览器来搜索全美国范围

【读书笔记】《编程珠玑》第一章之位向量&amp;位图

此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书籍,而且算法数据结构方面的知识储备实在是薄弱,这么看来,纯粹找虐啊orz.今此行为,歇业养伤,实属无聊.也可说是自打毕业后,看书如打仗,自视身处"安安稳稳的和平年代",闲来了也就闲着,忧患意识甚少,有也退退缩缩.话说回来,这本书不像CLRS那种难打的硬仗(现在想想都脑仁疼啊),<Pr

第15章WEB15-AJAX和JQuery案例篇

今日任务? 使用AJAX完成用户名的异步校验? 使用JQuery完成用户名异步校验? 使用JQuery完成商品信息模糊显示? 使用JQuery完成省市联动效果返回XML? 使用JQuery完成省市联动效果返回JSON教学导航教学目标了解AJAX的基本使用掌握JQuery的AJAX部分的代码掌握JQuery返回XML和JSON格式数据如何处理教学方法案例驱动法1.1 上次课内容回顾:JDBC的添加,修改,删除查询. 查询: 在首页点击查询:提交到Servlet--调用业务层--调用DAO 添加:

使用Micrisoft.net设计方案 第一章 企业解决方案中构建设计模式

第一章企业解决方案中构建设计模式 我们知道的系统总是由简单到复杂,而不是直接去设计一个复杂系统.如果直接去设计一个复杂系统,结果最终会导致失败.在设计系统的时候,先设计一个能够正常工作的系统,然后在此基础上逐步扩展.而一个好的企业设计方案就是由一些短小.简单.可靠.有效的并能够解决问题的机制组成.由这些短小精悍的机制进行组合,形成复杂的系统.而这些机制就设计模式.设计模式就是能够记录这些机制的一些描述. 企业级业务解决方案一般是复杂.性能要好.可扩展性好以及容易维护和可伸缩性强,而设计模式可以帮

经典中的博弈:第一章 C++的Hello,World!

经典中的博弈:第一章 C++的Hello,World! 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! "程序设计要通过编写程序的实践来学习"-Brian Kernighan 1.1 程序 何为程序?简单的说,就是为了使计算机能够做事,你需要在繁琐的细节中告诉它怎么做.对于怎么做的描述就是程序.编程是书写和测试怎么做的过程.维基百科上说,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指