vue过滤器
来源:互联网 发布:怎么用mac剪辑视频 编辑:程序博客网 时间:2024/05/20 05:27
一般我们写这个功能基本上就是往后端传个参数,然后后端再返回给我们搜索后的内容,今天我们要实现的是在自己的json数据里去搜索得到我们想要的内容。
<template><div><ul><li v-for="value in searchData"><div class="imgDiv" v-for="(imgsrc,index) in value.picPath"> <img v-if='index === 0' :src=imgsrc alt="value.name" class="avatar"> </div> <p class="listName">{{value.name}}</p> <p class="listName listName1">¥{{value.price}}</p></li><div class = "noContent" v-if="len === 0"><img src='../assets/none.png'></div></ul></div></template>
模板里面基本就是这个样子
<script>export default { name: 'list', data: function () { return { search: '', myData: [], url: '/static/product/all.json' } }, mounted: function () { this.getData() }, computed: { searchData: function () { var search = this.search if (search) { return this.myData.filter(function (list) { return Object.keys(list).some(function (key) { return String(list[key]).toLowerCase().indexOf(search) > -1 }) }) } return this.myData }, len: function () { return this.searchData.length } }, methods: { getData: function () { this.$http.get(this.url).then((response) => { this.myData = response.data.list this.search = this.$route.query.serInfo }) } }, watch: { '$route': 'getData' }}</script>这里面最主要的是searchData这个函数的功能,其他的就是我们去请求到我们json数据,然后在请求到的myData里面去搜索,在模板里面循环的时候记得是
v-for="value in searchData"这里还有一个一个问题就是在页面上我们搜索第一次是生效的,但是之后就没有反应了,原因就是
this.search = this.$route.query.serInfo没有执行,所以我们加上了watch这个钩子,来检测页面的url传过来的参数变化。
2 0
- Vue--过滤器
- Vue 过滤器
- vue过滤器
- vue过滤器
- vue--过滤器
- vue-过滤器
- Vue--过滤器
- Vue过滤器和自定义过滤器
- Vue.js过滤器概述
- Vue.js -- 过滤器
- vue.js 过滤器
- vue过滤器使用
- Vue.js过滤器学习
- vue实现货币过滤器
- Vue自定义过滤器
- Vue自定义过滤器
- Vue.js 过滤器
- vue常用过滤器
- PostgreSQL9.6并行查询
- EasyDarwin开源流媒体云平台设计与实现(分布式+负载均衡)
- Mpchart更改默认的 “No Chart data available text”
- java基础知识(五)
- 最小化托盘
- vue过滤器
- Nginx实现web页面跳转
- CSU-1835 Pry Sequence Transformation(DP)
- java取余运算时,用等于0和等于1有什么不同?
- Python学习笔记之函数作为返回值、闭包的解释
- 转:设计模式六大原则
- 素数问题:Torry的困惑(基本型)
- 前台框架选择
- 题目1373:整数中1出现的次数(从1到n整数中1出现的次数) 数位DP