Javascript 使用vue.js创建搜索框
我想为搜索框添加功能,在页面上搜索当前卡片以查找输入的电影,但是我在网上找到的所有其他示例和解决方案,它们的解决方案似乎对我不起作用 这是HTML的主体:Javascript 使用vue.js创建搜索框,javascript,html,vue.js,Javascript,Html,Vue.js,我想为搜索框添加功能,在页面上搜索当前卡片以查找输入的电影,但是我在网上找到的所有其他示例和解决方案,它们的解决方案似乎对我不起作用 这是HTML的主体: <body> <div id="app"> <div class="row pt-3"> <div class="col"> <input type="text" cla
<body>
<div id="app">
<div class="row pt-3">
<div class="col">
<input type="text" class="form-control" v-model="search" placeholder="Search Movies">
</div>
<div class="col-md-auto">
<button type="button" class="btn btn-primary" id="search"> Go! </button>
</div>
</div>
<div class="row text-center pt-3">
<div v-for="movie in movies" class="card" style="width: 18rem;">
<img :src="movie.Poster" class="card-img-top" alt="img">
<div class="card-body">
<h5 class="card-title">{{ movie.Title }}</h5>
<p class="card-text">{{ movie.Year }}</p>
<a href="#" class="btn btn-primary">View Movie</a>
</div>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="main.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
</body>
不要循环播放
电影
,而是创建一组经过过滤的计算数据进行循环播放。例如,如果您正在搜索标题:
计算:{
搜索视频(){
返回此.movies.filter(电影=>{
return movie.Title.toLowerCase().includes(this.search.toLowerCase());
})
}
}
在此循环:
...
当您没有搜索任何内容时,这将返回所有电影。我使用您答案中的按钮获得了它,谢谢您,尽管这很有帮助;)
new Vue({
el: '#app',
data: {
movies: [],
search: '',
},
created() {
var vm = this
axios.get('https://www.omdbapi.com/?s=Harry+Potter&apikey=a9018efb')
.then(function(response) {
vm.movies = response.data.Search
})
}
})