
通常情况下,在构建 JavaScript 应用程序时,您希望从远程源或从API获取数据。我最近研究了一些公开的API,发现可以使用这些数据源完成很多很酷的东西。
更多来自作者的提示
快速提示:如何在JavaScript中排序对象数组
使用Vuejs,可以逐步地构建围绕其中一个服务的应用程序,并在几分钟内就可以开始向用户提供内容服务。
我将演示如何构建一个简单的新闻应用程序,它可以显示当天的热门新闻文章,并允许用户按照他们的兴趣类别进行过滤,从纽约时报API获取数据。您可以在这里找到本教程的完整代码。
下面是最终应用的外观:
要学习本教程,您将需要一些非常基本的Vuejs的知识。 您可以在这里找到一个很棒的“入门指南”。 我还将使用ES6语法,您可以到这里进一步学习:
项目结构
为了保持简单,我们只使用2个文件:
/appjs /indexhtmlappjs将包含我们应用程序的所有逻辑,indexhtml 文件将包含我们应用程序的主视图。
我们先在 indexhtml 中写一些基本的标记:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>The greatest news app ever</title> </head> <body> <div id="app"> <h3>VueNews</h3> </div> </body> </html>然后,在indexhtml的底部导入 Vuejs和appjs,就在</body>标签之前:
<script src="/vue"></script> <script src="appjs"></script>可选的,我们还可以导入Foundation,以利用一些预先创建的样式,来使我们的视图看起来更好一点。
<link rel="stylesheet" ajax/libs/foundation/631/css/foundationmincss">创建一个简单的 Vue App
首先,我们将在div#app 元素上创建一个新的 Vue 实例,并使用一些测试数据来模拟新闻API的响应:
// /appjs const vm = new Vue({ el: '#app', data: { results: [ {title: "the very first post", abstract: "lorem ipsum some test dimpsum"}, {title: "and then there was the second", abstract: "lorem ipsum some test dimsum"}, {title: "third time's a charm", abstract: "lorem ipsum some test dimsum"}, {title: "four the last time", abstract: "lorem ipsum some test dimsum"} ] } });我们通过el选项告诉 Vue 要挂载的目标元素,并通过data选项指定我们的应用程序用到的数据。
要在我们的应用程序视图中显示这些模拟数据,我们可以在#app元素中写入下面的标记:
<!-- /indexhtml --> <div class="columns medium-3" v-for="result in results"> <div> <div> {{ resulttitle }} </div> <div> <p>{{ resultabstract }}</p> </div> </div> </div>v-for 指令用于渲染我们的 results 列表。 我们使用双花括号来显示每一项的内容。
您可以在 Vue 模板语法 这里阅读更多内容
我们现在已经完成了基本的布局工作:
从 API 获取数据
要使用 纽约时报API,您需要获得一个API密钥。所以如果你还没有,注册并获取一个热点事件API的API密钥。
创建ajax请求和处理响应
Axios是一个基于 Promise 的>
以前,vue-resource 通常用于Vue项目,但现在已经退休了。
清空按钮是增加了显示与隐藏。
使用vue侦探属性可以很简单实现,但是遇到了一个问题,因为在清空按钮是增加了显示与隐藏,点击后直接被隐藏掉,导致后面的侦探属性侦听不到值的变化。
在Vue中,清空表单数据指将表单中的数据全部清空,即将输入框、下拉框、单选框、多选框等表单元素中的值全部置为空。
现在我们通过webpack+vue-cli搭建起了一个vue项目的框架,如果我们需要在vue组件中使用axios向后台获取数据应该怎么办呢?
通常情况下,我们搭建好的项目目录应该是这样子的
首先需要安装axios,这个会npm的都知道
下一步,在mainjs中引入axios
import axios from "axios";
与很多第三方模块不同的是,axios不能使用use方法,转而应该进行如下 *** 作
Vueprototype$axios = axios;
接着,我们就可以在Appvue中使用axios了
created:function(){ this$axiosget("/seller",{"id":123})then(res=>{ consolelog(resdata); }); }
用thissetdata({
shuju1
:
shuju2
})
shuju1:你自己命名的名字,
shuju2:调用接口后返回的数据,
然后你页面就可以用{{shuju1}},这样来获取了。
实际项目中我们获取选择的数据的id;这时候
需要配合使用v-bind,才能获取到选择的那条数据的id值,其实就是id赋值给value属性
<template>
<div>
<select
v-model="select"
>
<option
v-for="(a,index)
in
arr"
:key="index"
:value="aid">{{
aname
}}</option>
</select>
<p>您选择的名字的Id是:{{select}}</p>
</div>
</template>
js代码
<script>
export
default
{
data(){
return{
select:'',
arr:[
{id:'1',name:'html'},
{id:'2',name:'css'},
{id:'3',name:'js'},
]
}
}
}
</script>
拓展知识:vue获取id以及重定向路由方法
1获取ID的方法:
let
orderId=this$routequeryid;
2路由重定向方法
this$routerpush(this$routequeryredirect
||
'/login')
以上这篇vue *** 作下拉选择器获取选择的数据的id方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:Vuejs获取被选择的option的value和text值方法vue如何通过id从列表页跳转到对应的详情页vue实现在表格里,取每行的id的方法
以上就是关于Vue 数据怎么获取使用外部的数据全部的内容,包括:Vue 数据怎么获取使用外部的数据、vue清空表单数据后显示所有列表内容、Vue项目中使用axios获取网页数据问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)