오류: "'string | string' 유형의 인수는 'string' 유형의 인수에 할당할 수 없습니다."
P粉232409069
2023-08-25 11:44:28
<p>API 호출을 만들고 비밀번호 재설정 구성 요소를 개발하기 위해 TypeScript와 axios를 모두 사용하여 Vue 프로젝트를 개발 중입니다. auth.ts 파일의 ResetPassword 함수는 다음과 같습니다</p>
<pre class="brush:php;toolbar:false;">resetPassword(password1: string, password2: string, uid: string, token: string): 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 파일에서 세 번째 매개변수에 <strong>"'string[]' 유형은 'string' 유형에 할당할 수 없습니다."</strong></p>라는 오류가 발생합니다. ;
<p>저는 ts를 처음 접해서 도움이 필요합니다. </p>
<p>여기서 두 가지 솔루션 사이에 혼란이 있습니다. <strong>this.$route.params.id를 문자열로 사용해야 할까요</strong> 아니면 이것이 더 나은가요</ em> 강력>this.$ Route.params.id.toString()</strong></p>
경로 매개변수에는 동일한 키를 가진 여러 값이 포함될 수 있습니다. 그렇기 때문에 아마도 단일 문자열이 아닌 문자열 배열일 것입니다. 매개변수가 하나만 있다고 확신하는 경우
를 사용할 수 있습니다. 으아악as string
来告诉打字稿编译器你知道这个变量 100% 是一个string
string[]代码> 대신
의 결과를 사용하려는 경우.toString()
并且会有一个像["foo", "bar"]
这样的数组,您将得到"foo ,bar"
作为.toString()
배열인지 확실하지 않은 경우 배열인 경우 첫 번째 값을 확인하세요.
으아악