Ralat semasa cuba menggunakan TypeScript dan bukannya JavaScript: Menjangkakan 1-2 argumen tetapi mendapat 3.ts(2554)
P粉420958692
2023-09-03 19:03:22
<p>Apabila kami menggunakan JavaScript, kami mempunyai aplikasi Vue.js 2.6, tetapi beberapa kod ditulis dalam TypeScript. Saya tidak tahu banyak tentang TypeScript dan cuba menulis semula kod menggunakan Axios. Ia kelihatan seperti ini: </p>
<p><strong>1) Pemanggil: </strong></p>
<pre class="brush:php;toolbar:false;">cuba {
const params = {
id: 1,
rumah penginapan: 2,
denganRujukan: benar,
};
keputusan const = menunggu gpbApi.leadService.getPartnerReferences(params);
} tangkap (ralat) {
console.log('error = ', error);
}</pre>
<p><strong>2) Panggilan: </strong></p>
<pre class="brush:php;toolbar:false;">async getPartnerReferences(params: any) {
jika (!params) kembali;
const { data } = menunggu axios.get(`${path}/GroupAccountService/PartnerReferences`, params, {
withCredentials: benar
});
pulangkan data.data;
}</pre></p>
Seperti yang ditunjukkan Quentin dalam ulasan, dokumentasi axios mempunyai satu parameter (url) yang diperlukan dan satu parameter pilihan (config). Kod anda diluluskan tiga argumen, jadi ralat adalah tepat dan panggilan tiga argumen
get
tidak melakukan apa yang anda harapkan dalam JS atau TS.Walau bagaimanapun, parameter
bukannyaconfig
menerima kunci bernamaconfig
参数接受一个名为params
的键,这很可能是您的params
的预期位置。您可以使用 Javascript 简写只需使用名称params
而不是params: params
。这意味着您的修复只需将params
, yang kemungkinan besar merupakan lokasi anda yang dimaksudkan. Anda boleh menggunakan Javascript trengkas Hanya gunakan namaparams: params
. Ini bermakna pembetulan anda hanyalah untuk memindahkandi dalam
🎜Jika kod ini berfungsi sebelum ini, 🎜 mungkin berada dalam pemula objek pada baris yang sama dengan URL, tetapi telah tersilap dialihkan ke luar URL. 🎜params
(pendkap) pemula objek.