Maison > interface Web > js tutoriel > Utilisez les technologies webpack+vuex+axios pour implémenter des données de requêtes inter-domaines (tutoriel détaillé)

Utilisez les technologies webpack+vuex+axios pour implémenter des données de requêtes inter-domaines (tutoriel détaillé)

亚连
Libérer: 2018-06-01 09:50:26
original
1963 Les gens l'ont consulté

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'
    } 
   }
  },
 }
Copier après la connexion

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)
 })
}
Copier après la connexion

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 &#39;vuex&#39;;
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(&#39;GET_IN_THEATERS&#39;)
  },
  mounted () {
  }
}
</script>
<style lang="scss">
@import "./../../assets/reset.scss";
@import "./../../assets/main.scss";
.movie-page{
  padding: 0 rem(40);
}
</style>
Copier après la connexion

Si vous souhaitez traverser un domaine au sein du composant

Définir dans main.js :

import axios from &#39;axios&#39;
// 将 axios 改写为 Vue 的原型属性,使在其它的组件中可以使用 axios
Vue.prototype.$axios = axios
Copier après la connexion

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(&#39;/v2/movie/in_theaters&#39;).then(res => {
      this.movie_list = res.data.subjects
    }, res => {
      console.infor(&#39;error&#39;)
    })
  }
}
</script>
<style lang="scss">
@import "./../../assets/reset.scss";
@import "./../../assets/main.scss";
.movie-page{
  padding: 0 rem(40);
}
</style>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal