2017-03-26 21 views
3

VueにXHRを追加しようとしています。 XHRが定義されていないというエラーが表示されます。私はNPHでインストールされたXHR命令に従って、エイリアスの下のwebpack.baseファイルに追加しました。 vue-cliボイラープレートに添付されているHello.vueファイルをテンプレートファイルの中で呼びます。私は "npm run dev"を使用しますが、何とか再構築する必要がありますか?Vue JS webpackにXHRを追加する

resolve: { 
extensions: ['.js', '.vue', '.json'], 
alias: { 
    'vue$': 'vue/dist/vue.esm.js', 
    '@': resolve('src'), 
    'request$': 'xhr' 
} 

}、タグ内部Hello.vueから

xhr({ 
uri: "http://localhost:8081/service", 
headers: { 
    "Content-Type": "application/json" 
} 

}, function (err, resp, body) { 
    list = resp; 
}) 

コードHello.vueに

<script> 
var xhr = require("xhr") 

var spells = []; 

function doGetSpells(){ 

     //var self = this; 
     xhr({ 
      uri: "http://localhost:8081/spellNames", 
      headers: { 
       "Content-Type": "application/json" 
      } 
     }, function (err, resp, body) {    
      spells = JSON.parse(body); 
      console.log(spells); 
     })   
} 

export default { 
    name: 'sideBar', 
    data() { 
    return { 
     msg: 'Welcome to Your Vue.js App', 
     spellList: spells 
    } 
    }, 
    methods: { 
    getSpells(){ 
     doGetSpells(); 
    }, 
    mounted() { 
     doGetSpells(); 
    } 
    } 

} 
</script> 
+0

あなたがHello.vueで使用しているコードを表示することができますか? – Jewel

+0

元の投稿に追加しました。 – Jason

+1

Hello.vueに 'var xhr = require(" xhr ")'を追加しましたか?あなたは完全なhello.vueを見せてくれますか? – Jewel

答えて

1
var xhr = require("xhr") 

xhr.get('/post-to-me', function(err, resp) { 
    // callback 
}) 

あなたはパラメータとしてコールバック関数を渡す必要がありますアクションが呼び出されたときに呼び出されます終わらせる。あなたのコールバックで

、あなたが使ってVueのインスタンスにアクセスできるようになります「この」:

this.spellList = [] 
関連する問題