热门标签 | 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}}


推荐阅读
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
  • AngularJS 进阶指南:第三部分深入解析
    在本文中,我们将深入探讨 AngularJS 的指令模型,特别是 `ng-model` 指令。`ng-model` 指令用于将 HTML 元素与应用程序数据进行双向绑定,支持多种数据类型验证,如数字、电子邮件地址和必填项检查。此外,我们还将介绍如何利用该指令优化表单验证和数据处理流程,提升开发效率和用户体验。 ... [详细]
  • 图论入门基础教程
    图论是计算机科学和数学中的重要分支,本教程旨在为初学者提供全面的基础知识。通过实例解析,如“昂贵的聘礼”问题,讲述了一个年轻探险家在印第安部落与酋长女儿的爱情故事,展示了图论在解决实际问题中的应用。教程内容涵盖了图的基本概念、表示方法以及常见算法,适合各类读者学习。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文探讨了Nginx在处理静态和动态URL时的配置与优化技巧。通过示例展示了如何将复杂的动态URL重写为简洁的静态URL,如将`http://test.dev/televisionSearch?searchword=20&a`转换为`http://test.dev/search_sw_20_p_1.html`。此外,还介绍了如何利用Nginx的重写规则和缓存机制,提高网站性能和用户体验。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
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社区 版权所有