0
我正在制作一个简单的书籍分类器应用程序,我在使用filterBy
过滤器时遇到了一些麻烦。该筛选器适用于筛选non-fiction
genre
,但由于某些原因,它不适用于fiction
。我想显示书名和作者,然后在输入字段中,筛选按流派显示的书籍列表。所以如果我在输入字段中写小说,它应该只显示小说书籍。这就是我的看法是这样的:如何在Vue.js中使用filterBy
<div id="app">
<h1>{{title}}</h1>
<div id="input">
<input type="text" v-model="genre" placeholder="Search fiction/non-fiction">
</div>
<div id="display-books" v-for=" book in books | filterBy genre in 'genre' ">
<span>Title: {{book.title}}</span>
<span>Author: {{book.author}}</span>
</div>
</div>
这里是我的app.js
:
var appData = {
title: 'Book Sorter',
filters: 'Search filter',
filtertext: '* only show title if book is available',
genre: '',
books:
[
{genre: "fiction", title: "The Hobbit", author: "J.R.R Tolkien", available: false},
{genre: "non-fiction", title: "Homage to Catalonia", author: "George Orwell", available: true},
{genre: "non-fiction", title: "The Tipping Point", author: "Malcolm Gladwell", available: false},
{genre: "fiction", title: "Lord of the Flies", author: "William Golding", available: true},
{genre: "fiction", title: "The Call of the Wild", author: "Jack London", available: true}
]
}
new Vue({
el: "#app",
data: appData,
});
我需要使用一个完全匹配过滤器呢?确切地说, –
。您可以为此创建一个自定义过滤器。但是,为了显示这样的列表,您可能需要将输入内容更改为下拉列表。这样,它只会在用户选择所需的流派时触发事件。 – crabbly
我加了一个小提琴作为例子。一探究竟。 – crabbly