vue为什么会访问两次后端接口呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue为什么会访问两次后端接口呢相关的知识,希望对你有一定的参考价值。
参考技术A 使用vue.js与后台实现数据交互的方法是利用vue-resource组件提供的一系列api:get(url, [data], [success], [options])
post(url, [data], [success], [options])
put(url, [data], [success], [options])
patch(url, [data], [success], [options])
delete(url, [data], [success], [options])
jsonp(url, [data], [success], [options])
具体举例如下:
1、导入vue-resource
2、基于全局Vue对象使用http
// 通过someUrl获取后台数据,成功后执行then的代码
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback);
3、在一个Vue实例内使用$http
// $http是在vue的局部范围内的实例
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback);
说明:
在发送请求后,使用then方法来处理响应结果,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。 参考技术B 也有一种可能,你在某些监听状态的地方加了调用index接口的方法, 会导致当你的state更新后调用接口 参考技术C 笑死我了,人家说接口,你说异步回调,
浏览器安全机制,在非简单请求之前,先发出一个options请求,只要响应了,即浏览器认为安全可访问,这时候才发出正式请求。所以你看到的是两个请求。
Vuetify 导航抽屉仅在单击两次后才关闭
【中文标题】Vuetify 导航抽屉仅在单击两次后才关闭【英文标题】:Vuetify navigation drawer closing only after item is clicked twice 【发布时间】:2019-09-08 05:29:18 【问题描述】:我对 Vue 很陌生,所以我不知道如何检查这个,但是 我的 vue v-navigation-drawer 在下面,它位于 app-root.vue 中。起初它可以工作,当您单击抽屉项目时关闭,但现在您必须单击两次才能关闭它。
第一次单击将您带到页面,然后第二次单击关闭抽屉。仅供参考 - 如果我已经在页面上,然后单击它一次将关闭它。
我在调试器中没有看到任何错误。
这是我的抽屉和脚本
export default
data()
return
drawer: false,
,
computed:
isPageLoading:
get()
return this.$store.state.appRoot.isPageLoading
,
set(value)
this.$store.commit('appRoot/isPageLoadingUpdate', value)
,
<template>
<div id="app">
<v-app id="inspire">
<v-navigation-drawer fixed temporary disable-resize-watcher v-model="drawer" app>
<v-subheader class="mt-3 grey--text text--darken-1">ENTRY</v-subheader>
<v-list dense>
<v-list-tile @click="drawer = !drawer" to="/entry/records">
<v-list-tile-content>
<v-list-tile-title>Records</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/coworkers">
<v-list-tile-content>
<v-list-tile-title>Coworkers</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/defendants">
<v-list-tile-content>
<v-list-tile-title>Defendants</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/documentjobs">
<v-list-tile-content>
<v-list-tile-title>Document Jobs</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/jobsites">
<v-list-tile-content>
<v-list-tile-title>Jobsites</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/locations">
<v-list-tile-content>
<v-list-tile-title>Locations</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/products">
<v-list-tile-content>
<v-list-tile-title>Products</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/ships">
<v-list-tile-content>
<v-list-tile-title>Ships</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/sources">
<v-list-tile-content>
<v-list-tile-title>Sources</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile @click="drawer = !drawer" to="/entry/witnesses">
<v-list-tile-content>
<v-list-tile-title>Witnesses</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-divider dark></v-divider>
<v-subheader class="mt-3 grey--text text--darken-1">ADMIN</v-subheader>
<v-list-tile @click="drawer = !drawer" to="/Admin/Users">
<v-list-tile-content>
<v-list-tile-title>Users</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<br />
</v-list>
</v-navigation-drawer>
<v-toolbar color="indigo" dark fixed app>
<v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
<v-toolbar-title>Mpid2</v-toolbar-title>
</v-toolbar>
<v-content>
<router-view></router-view>
</v-content>
<v-footer fixed app style="min-height: 0">
<!--<v-progress-linear :active="isPageLoading" class="ma-0" :indeterminate="true"></v-progress-linear>-->
</v-footer>
</v-app>
</div>
</template>
【问题讨论】:
你能提供一个有效的小提琴或codepen吗? 我有类似的问题。需要点击两次才能切换抽屉。 【参考方案1】:我将抽屉:@click.stop 更改为 @click.native,现在可以使用了。
【讨论】:
以上是关于vue为什么会访问两次后端接口呢的主要内容,如果未能解决你的问题,请参考以下文章
为啥 RecyclerView 项目在点击两次后才改变背景颜色?