ajax axiosを使用するメソッドで引数を渡す必要があります。Vue.js 2.0 - メソッドの引数を渡すAJAX Axios
私はthis.allAdmissions()メソッドを呼び出しています。この関数を再利用できるように、引数を渡す必要があります。たとえば、this.allAdmissions( 'http://localhost/school/api/hello')です。次に、axios.get( 'url')で使用します。ありがとう
ajax axiosを使用するメソッドで引数を渡す必要があります。Vue.js 2.0 - メソッドの引数を渡すAJAX Axios
私はthis.allAdmissions()メソッドを呼び出しています。この関数を再利用できるように、引数を渡す必要があります。たとえば、this.allAdmissions( 'http://localhost/school/api/hello')です。次に、axios.get( 'url')で使用します。ありがとう
あなたがしようとしているように見えるのは、URLを受け取り、URLの結果をデータの変数値にバインドする関数を作ることです。ここでそれをどうやって行うのかです。
methods: {
allAdmissions: _.debounce(function(url, value){
axios.get(url)
.then(function(response){
this[value] = response.data.admissions
}.bind(this))
.catch(function(error){
console.log(error)
})
})
}
あなたは、このようにそのメソッドを呼び出した場合次に、
this.allAdmissions('http://localhost/school/api/admissions', "admissions")
allAdmissions
はあなたの呼び出しの結果に自分のデータにadmissions
プロパティを設定します。これはハードコーディングされているので常にresponse.data.admissions
を使用したい場合に有効です。それを可変にしたい場合は、
methods: {
getSomeData: _.debounce(function(url, value, responseValue){
axios.get(url)
.then(function(response){
this[value] = response.data[responseValue]
}.bind(this))
.catch(function(error){
console.log(error)
})
})
}
ええ、それは今働いています。私はちょうど 'var app = this'と' app [value] = response.data.admissions'を追加しましたが、3番目のパラメータで動作することは分かっています。あきらめないでくれてありがとう!あなたはロックスターです! – Rbex
複数のajaxリクエストが必要な場合もあります。ここに例があります。
var app = new Vue({
el: '#app',
data: {
value: '',
admissions: [],
schoolyear: []
},
created: function(){
this.ajaxAll()
},
methods: {
ajaxAll: _.debounce(function(){
var app = this
var admissions = 'admissions'
var schoolYear = 'schoolyear'
axios.all([this.getAllData('http://localhost/school/api/admissions', 'admissions'), this.getAllData('http://localhost/school/api/schoolyear', 'schoolyear')]);
}),
getAllData: function(url, value){
var app = this
return axios.get(url)
.then(function(response){
app[value] = response.data[value]
console.log(response.data.admissions)
})
}
}
})
@Bert Evansに寄稿しました。
必要なのは、 '_.debounce(function(url){}、delay)'です。 Debounceはパラメータを渡します。 – Bert
this.allAdmission( 'htpp:// localhost/school/api/hello')のように渡して、_.debounce(function(url)、500)を使って呼び出すことができます。これは正しいです? – Rbex
再利用できる関数を作成しようとしているのですか?または、関数が0.5秒に1回しか実行されないことを確認していますか? – Bert