Maison > Article > interface Web > Utilisez les technologies webpack+vuex+axios pour implémenter des données de requêtes inter-domaines (tutoriel détaillé)
Cet article présente principalement les données de requêtes inter-domaines webpack+vuex+axios. Maintenant, je les partage avec vous et les donne comme référence.
Cet article présente l'exemple de code des données de requête inter-domaines webpack+vuex+axios et le partage avec tout le monde. Les détails sont les suivants :
Utilisez vue-li pour créer le projet webpack. et modifiez le fichier bulid/config/index.js
dev: { env: require('./dev.env'), port: process.env.PORT || 8080, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/v2': { target: 'http://api.douban.com', changeOrigin: true, pathRewrite: { '^/v2': '/v2' } } }, }
Dans action.js, si vous souhaitez faire une requête interdomaine
, définissez action.js :
import axios from 'axios' export const GET_IN_THEATERS = ({ dispatch, state, commit }) => { axios({ url: '/v2/movie/in_theaters' }).then(res => { commit('in_theaters', res.data) }) }
Utiliser dans le composant :
<template> <p class="movie-page"> <ul class="clearfix"> <movies-item v-for="(item,index) in movie_list" :key="index" :movie="item"></movies-item> </ul> </p> </template> <script> import {mapState, mapActions, mapGetters} from 'vuex'; import MoviesItem from "./movie-item"; export default { data () { return { } }, components: { MoviesItem }, computed: { ...mapState({ movie_list: state => { return state.in_theaters.subjects } }) }, methods: { }, created () { this.$store.dispatch('GET_IN_THEATERS') }, mounted () { } } </script> <style lang="scss"> @import "./../../assets/reset.scss"; @import "./../../assets/main.scss"; .movie-page{ padding: 0 rem(40); } </style>
Si vous souhaitez traverser un domaine au sein du composant
Définir dans main.js :
import axios from 'axios' // 将 axios 改写为 Vue 的原型属性,使在其它的组件中可以使用 axios Vue.prototype.$axios = axios
Définir dans le composant :
<template> <p class="movie-page"> <ul class="clearfix"> <movies-item v-for="(item,index) in movie_list" :key="index" :movie="item"></movies-item> </ul> </p> </template> <script> import MoviesItem from "./movie-item"; export default { data () { return { movie_list: [] } }, components: { MoviesItem }, computed: { }, methods: { }, created () { }, mounted () { this.$axios.get('/v2/movie/in_theaters').then(res => { this.movie_list = res.data.subjects }, res => { console.infor('error') }) } } </script> <style lang="scss"> @import "./../../assets/reset.scss"; @import "./../../assets/main.scss"; .movie-page{ padding: 0 rem(40); } </style>
Ce qui précède est ce que j'ai compilé pour tout le monde. Oui, j'espère que cela sera utile à tout le monde à l'avenir.
Articles associés :
Implémentation Vue.js du glissement aléatoire des images
Résoudre Vue Modifier le tableau via ce qui suit tableau, le problème du rendu de la page non
Vue2.0 axios solution au problème de rendu inter-domaines
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!