エラー: 「タイプ 'string | string' の引数は、タイプ 'string' の引数に割り当てることができません」
P粉232409069
P粉232409069 2023-08-25 11:44:28
0
1
518
<p>TypeScript と axios の両方を使用して API 呼び出しを行い、パスワード リセット コンポーネントを開発する Vue プロジェクトを開発しています。auth.ts ファイル内のresetPassword 関数は次のようになります</p> <pre class="brush:php;toolbar:false;">resetPassword(パスワード 1: 文字列、パスワード 2: 文字列、uid: 文字列、トークン: 文字列): Promise<any> { return new Promise<any>((解決、拒否) => { アクシオス .post("API", { パスワード 1, パスワード 2, uid, トークン }) .then((res : any) => { 解決(//解決); }) .catch((エラー) => { //拒否する }) }) }</pre> <p>ResetPassword.vue ファイルでは、次のように newPassword を使用します</p> <pre class="brush:php;toolbar:false;">this.resetPassword(password1.value、password2.value、this.$route.params.id、this.$route.params.resetID).then( (レス) => { if(パスワード1.値 == パスワード2.値){ 通知{ 「成功」 }); }</pre> <p>ResetPassword.vue ファイルの 3 番目のパラメータで、<strong>「型 'string[]' は型 'string' に割り当てられません。」というエラーが表示されます。</strong></p> ; <p>私は TS について少し初心者なので、助けが必要です。 </p> <p>ここで 2 つの解決策の間で迷っています。<strong>this.$route.params.id を文字列として使用する必要があります</strong> <em>それともこれの方が良いですか</ em> < Strong>this.$ Route.params.id.toString()</strong></p>
P粉232409069
P粉232409069

全員に返信(1)
P粉322106755

Route パラメーターには、同じキーを持つ多くの値を含めることができます。そのため、これはおそらく単一の文字列ではなく、文字列の配列であると考えられます。パラメーターが 1 つだけであることが確実な場合は、as string を使用して、この変数が string であり string ではないことを 100% 知っていることを typescript コンパイラーに伝えることができます。 []代码>

リーリー

.toString() を使用し、["foo", "bar"] のような配列を使用すると、"foo , bar"# が得られます。 ##.toString() の結果

それが配列であるかどうかわからない場合は、それを確認できます。配列の場合は、最初の値を取得します:

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート