Vue实现搜索 和新闻列表功能简单范例

  1. Vue实现搜索功能简单范例

为了实现搜索功能,我们需要在Vue组件中引入双向绑定v-model和v-on指令,并绑定一个输入框元素,如下所示:

<template>
  <div>
    <input type="text" v-model="searchTerm" v-on:change="search"/>
    <ul>
      <li v-for="(item,index) in searchResults" :key="index">{{item}}</li>
    </ul>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        searchTerm: '',
        itemList: ['item 1', 'item 2', 'item 3', 'item 4', 'item 5']
      }
    },
    computed: {
      searchResults() {
        return this.itemList.filter((item) => {
        return item.includes(this.searchTerm)
        })
      }
    },
    methods: {
      search() {
        this.$emit('search-event', this.searchTerm)
      }
    }
  }
</script>

在这个例子中,我们通过v-model将输入框元素与searchTerm绑定,通过v-on指令监听输入框的值改变事件,当我们在输入框中输入搜索关键字,会实时更新searchTerm。在computed属性中,我们通过使用Array的filter方法,将itemList中符合搜索关键字的项过滤出来,并保存在searchResults数组中。最后,在search方法中,我们使用$emit方法来触发search-event事件,并将搜索结果传递出去供其他组件使用。

  1. Vue实现新闻列表功能简单范例

为了实现新闻列表功能,我们可以使用Vue的组件化架构,将新闻列表封装成一个单独的组件,如下所示:

<template>
  <div>
    <h2>{{title}}</h2>
    <ul>
      <li v-for="(item,index) in newsList" :key="index">
        <a :href="item.link">{{item.title}}</a>
        <p>{{item.description}}</p>
      </li>
    </ul>
  </div>
</template>

<script>
  export default {
    props: {
      title: String,
      newsList: Array
    }
  }
</script>

在这个组件中,我们通过props接收外部传递进来的title和newsList数据,然后在组件内部遍历newsList数组,将每条新闻的title和description显示在页面上。注意的是,在template中使用v-for指令循环渲染列表项时,需要使用动态的key属性,来保证每条新闻列表项的唯一性。

在父组件中,我们可以通过axios库获取到后端返回的JSON格式新闻列表数据,并通过props的方式将title和newsList传递给子组件进行渲染。

<template>
  <div>
    <NewsList title="今日新闻" :newsList="newsList"></NewsList>
  </div>
</template>

<script>
import axios from 'axios';
import NewsList from './components/NewsList.vue';

export default {
  name: 'app',
  components: {
    NewsList
  },
  data() {
    return {
      newsList: []
    }
  },
  created() {
    axios.get('/news')
        .then((response) => {
          this.newsList = response.data;
        })
        .catch((error) => {
          console.log('Error fetching news list:', error);
        });
  }
}
</script>

在这个例子中,我们在父组件中引入NewsList组件,并将newsList通过props传递给子组件进行渲染。通过在created钩子中使用axios库,我们可以访问后端的/news路由,获取到返回的新闻列表数据,并将其赋值给newsList,以便父组件传递给子组件进行渲染。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue实现搜索 和新闻列表功能简单范例 - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • Vue 中使用富文本编译器wangEditor3的方法

    下面我将为你介绍如何在Vue中使用wangEditor3富文本编辑器。 1. 安装wangEditor3 首先,在Vue项目中安装wangEditor3,可以使用npm或者yarn进行安装,打开终端输入以下命令: npm install wangEditor3 –save 或者 yarn add wangEditor3 2. 创建富文本编辑器组件 在Vue…

    Vue 2023年5月28日
    00
  • Vue 3需要避免的错误

    下面是关于“Vue 3需要避免的错误”的攻略: 1. 删除节点 在Vue 3中,删除节点需要使用remove(),而不是之前版本中常用的$destroy()。 <template> <div v-if="show"> Some content to be removed </div> <butto…

    Vue 2023年5月28日
    00
  • 10分钟带你上手Vue3中新增的API

    当Vue3发布后,带来了不少令人期待的新特性,其中就包括了更新和新增了一些 API。在本次教程中,我们将重点介绍这些 Vue3 新增的 API,让初学者能够10分钟内快速入门 Vue3。 目录 setup ref reactive computed watch 示例一:数组操作示例 示例二:计数器示例 setup Vue3 添加了 setup 函数,它是 V…

    Vue 2023年5月28日
    00
  • mpvue+vuex搭建小程序详细教程(完整步骤)

    这里给您详细讲解一下“mpvue+vuex搭建小程序详细教程(完整步骤)”。 简介 本教程将介绍如何使用 mpvue 和 vuex 搭建一个小程序。mpvue 是一个使用 Vue.js 开发小程序的前端框架,而 vuex 则是 Vue.js 的状态管理工具。本次教程的重点是如何使用 vuex 在 mpvue 中控制状态的管理。 步骤 1. 创建一个 mpvu…

    Vue 2023年5月27日
    00
  • elmentUI组件中el-date-picker限制时间范围精确到小时的方法

    下面是关于「elmentUI组件中el-date-picker限制时间范围精确到小时的方法」的详细讲解,包含了两条示例说明。 简介 el-date-picker 是 Element UI 提供的日期选择器组件,它可以帮助我们快速地构建出日期选择器。但是在实际使用中我们可能会遇到一些特殊需求,比如需要限制选取日期时间的范围,并且要精确到小时级别。本文将介绍在 …

    Vue 2023年5月29日
    00
  • 详解Vue前端生产环境发布配置实战篇

    下面我将为您详细讲解“详解Vue前端生产环境发布配置实战篇”的完整攻略,包含以下内容: 一、前置准备 在开始前,我们需要完成以下准备工作: 安装Node.js和Vue-cli 创建一个Vue项目 配置生产环境的基础设置 二、环境配置 修改“package.json”文件中的“build”脚本,指定“NODE_ENV”为“production”,示例如下: &…

    Vue 2023年5月28日
    00
  • vue多环境配置之 .env配置文件详解

    Vue多环境配置之.env配置文件详解 什么是.env配置文件 .env配置文件是对不同环境下的应用程序进行配置的文件。它不应该存在于版本控制系统中,因为该文件可能包含敏感信息,比如数据库密码、API密钥等。 在Vue项目中,.env是一个前缀为名字的文件,其中的变量可以在应用程序中访问。在不同环境下,可以创建不同的.env文件。Webpack在打包过程中,…

    Vue 2023年5月28日
    00
  • 详解vue与后端数据交互(ajax):vue-resource

    下面是“详解vue与后端数据交互(ajax):vue-resource”的完整攻略,包含以下几个部分: 概述 安装vue-resource 使用示例1:GET请求 使用示例2:POST请求 5.参考链接 1. 概述 Vue.js是一款轻量级、高效的渐进式JavaScript框架,可以用于构建 Web 界面和单页应用程序。而vue-resource是Vue.j…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部