首页 > 其他分享 >vue:axios异步通讯

vue:axios异步通讯

时间:2023-04-21 21:46:37浏览次数:29  
标签:info 异步 axios return 函数 json vue data response

由于Ajax需要对dom进行频繁的操作

所以这里使用axios进行替代

首先放上所有代码

<body>

<div id="vue">

{{info.name}}
    <a v-bind:href="info.url">点我</a>
</div>

<!--    到入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#vue",
        data(){
            return{
                //请求的返回参数格式,要和json字符串一样
                info:null
            }
        },
        mounted(){ //钩子函数
            //这里也可以用Ajax
            axios.get('../data.json').then(response=>(this.info=response.data))
        }
    })
</script>
</body>

主要看一些新的东西

首先这里的data()是一个函数,并不是data属性,这里是固定格式,在函数中加return,

在我的理解里就是这个函数将return中的数据返回到了data属性里

return里的数据是可以被拿到的

再看mounted函数,这里需要引用官网的一个vue生命周期图

 从图中可以看到mounted函数的位置

他是在实时更新数据之前运行的,也就是说,这个函数全局只会运行一次,是一个适合用于初始化的函数

之后便是代码:

axios.get('../data.json').then(response=>(this.info=response.data))

url很明显是../data.json,之后response=>(this.info=response.data这个的意义就是将response拿到的数据赋值到info中,info在哪呢,

info在data函数中的return中,也就是说,我们将从../data.json拿到的json数据全部赋值到了info中,而我们前面说了,return中的数据是可以被拿到的,由此以来,我们从中获取的json数据

便可以轻松地显示在我们所需要的dom中

 

标签:info,异步,axios,return,函数,json,vue,data,response
From: https://www.cnblogs.com/-0112/p/17341896.html

相关文章

  • Axios
    Axios介绍:基于promise网络请求,实现异步获取请求数据。(无需重新加载页面完成局部数据刷新)示例一:<!--引入Axios--><scriptsrc="https://unpkg.com/axios/dist/axios.min.js"></script>​axios.get('/user',{  params:{//传参-> '/user?id=123'  ......
  • Vue-Routes
    下载npmivue-router@x x为版本号 版本对应规则:vue@x==router@x+1使用一、创建应用路由器在src中创建router/index.js目录1、引入touter插件&&应用插件importVueRouterfrom'vue-touter'Vue.use(VueRouter)2、将需要做局部页面跳转的组件引入importHome......
  • VUe-数组get传递
    vue中get方法如何传递数组参数直接放在对象中传递数组 exportfunctiongetCrApplicationList(data){vartest=['111','222']returnrequest({url:'/applicant/CrApplication/List',method:'get',params:{test}})}  传递的参......
  • vuejs四舍五入、字符串、数组、Set去重
     url如果使用get方式传递数组。只需传入多个同名参数即可eg: https://test.net/do.action?paramA=valArr1&paramA=valArr2&paramsB=valB此时paramA在后台即可使用数组方式接收————————————————   vue使用newSet去重 constarr=newSet()ThisList.forEach......
  • vue组件
    vue组件实际上就是自定义标签组件是vue可重复使用的实例也就是说,当你定义好一个组件之后,你可以将其当做一个html的标签使用<divid="app"><br><qinjiang></qinjiang><br></div><divid="buttonnew"><newbutton></newbutton>......
  • vue-router解决警告:No match found for location with path "XXXXXXX"
      使用vue-router时,在刷新页面时往往会出现这个警告:    这个问题产生的原因往往是因为vue在启动时,会校验当前页面的路由,而我们使用vue-router时,是在导航守卫中动态添加路由的,因此肯定找不到,而这个时候还没进入守卫,自然就会抛出这个警告了:  1、app.use(router)......
  • Vue:表单双绑、组件
    vue一大精髓就是双向绑定vue.js是一个mvvm框架,即数据的双向绑定,即当数据发生变化时的时候,视图也就发生变化,当视图发生变化时,数据也会同步变化双向绑定是对于UI控件来说的,非UI控件不会涉及到数据的双向绑定以input标签举例<divid="app">输入的文本:<inputtype="text"v-......
  • WebStorm 2023.1 vue文件标签中变量无法识别 Unresolved variable or type
    从老版本WebStorm升级到 WebStorm2023.1之后,打开项目莫名爆红 可能是查询的不对,很多博客指明是依赖的问题,实际修改无效问题出在文件类型指向不对修改为: 问题解决 ......
  • Vite + Vue3 +TS 项目搭建
    安装nvm略安装node略使用Vite创建项目vite3.x文档:https://cn.vitejs.dev/guide/#scaffolding-your-first-vite-project使用NPM:$npmcreatevite@latest使用Yarn:$yarncreatevite使用PNPM:$pnpmcreatevite然后直接进入项目初始化的选择,自定义一些......
  • VUE上传图片
    1<!--2气味照相机,上传图片3-->4<template>5<divclass="main_container">6<divclass="bgimg_box":style="'background-image:url('+bgImg+');'">7<d......