热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vue学习之交换布局以及模糊查询

效果展示交换布局vue框架是典型的MVVM前端框架,不提倡程序猿通过操作dom元素来达到效果。并且操纵dom元素不利于性能优化消耗较多内存。交换布局的核心其实就是满
效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

交换布局

vue框架是典型的MVVM前端框架,不提倡程序猿通过操作dom元素来达到效果。并且操纵dom元素不利于性能优化消耗较多内存。
交换布局的核心其实就是满足条件的一方展示。用到的是v-if指令,

<div id&#61;"search"><input type&#61;"text" name&#61;"" id&#61;"find" placeholder&#61;"请输入搜索内容" v-model&#61;"search_content"/><img src&#61;"../image/搜索.png"> <img src&#61;"../image/详情.png" :class&#61;"{&#39;active&#39;:layout&#61;&#61;&#39;list&#39;}" &#64;click&#61;"layout&#61;&#39;list&#39;"><img src&#61;"../image/网格化.png" :class&#61;"{&#39;active&#39;:layout&#61;&#61;&#39;grid&#39;}" &#64;click&#61;"layout&#61;&#39;grid&#39;">div> <ul><div class&#61;"flex" v-if&#61;"layout&#61;&#61;&#39;list&#39;"><li v-for&#61;"item in find">{{item.title}}<div id&#61;"img"><img :src&#61;item.img /> div>li>div>ul>

首先给两个按钮绑定对应事件&#xff0c;第一个是形式是带标题的展示&#xff0c;第二格式网格式的图片展示。&#64;click&#61;“layout&#61;‘list’” 显然这段代码的意思是点击之后data中的layout变量变为了list。所以我们应该在data中提前声明变量layout&#xff0c;并且默认值设为list。
实现交换布局核心就是当layout为list时候展示lsit格式&#xff0c;为grid展示grid格式&#xff0c;所以直接v-if&#61;“layout &#61;&#61; ‘list’” 即可
然后为img添加active样式。用到的是v-bind指令&#xff0c;他能够更改属性值&#xff0c;:class意思是要更改的属性为class&#xff0c;active则是如果满足条件就把属性class的值改成active即使用active样式。两种写法&#xff1a;

<img src&#61;"../image/详情.png" :class&#61;"{&#39;active&#39;:layout&#61;&#61;&#39;list&#39;}" >
<img src&#61;"../image/网格化.png" :class&#61;"layout&#61;&#61;&#39;grid&#39;?&#39;active&#39;:&#39;&#39;">

此时就可以做到通过点击图标来实现布局的交换。

模糊查询

作为前端 如果拿到了所有数据进行模糊查询功能的编写也是不难的。本例使用计算属性&#xff08;响应式数据&#xff09;&#xff0c;同步渲染。因为vue是典型的MVVM框架不需要控制器处理数据&#xff0c;是双向绑定的&#xff0c;通过vm&#xff08;调度者&#xff09;实现。
想要实现模糊查询用到的是数组的方法filter&#xff08;&#xff09;&#xff1b;
eg&#xff1a;

var aaa&#61;[&#39;asv&#39;,&#39;dsad&#39;,&#39;www&#39;];var ccc&#61;aaa.filter(function(item){return item.indexOf(&#39;a&#39;)!&#61;-1})console.log(ccc)//[&#39;asv&#39;,&#39;dsad&#39;]

所以我们在计算属性中也是用这样的方法

computed:{find:function(){let that &#61; this;if(this.search_content&#61;&#61;&#39;&#39;){ return this.example;} return this.example.filter(function(item){return item.title.indexOf(that.search_content)!&#61;-1// return item.title.includes(that.search_content)})}},

search_content就是用v-model进行绑定的input框里面的值。
也可以使用es6中提供的方法includes&#xff0c;如果包括输入的数据&#xff0c;则返回。

代码


  • {{item.title}}


推荐阅读
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 使用Python构建网页版图像编辑器
    本文详细介绍了一款基于Python开发的网页版图像编辑工具,具备多种图像处理功能,如黑白转换、铅笔素描效果等。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
author-avatar
卢培伟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有