찾다

 >  Q&A  >  본문

오류: "'string | string' 유형의 인수는 'string' 유형의 인수에 할당할 수 없습니다."

<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>
P粉232409069P粉232409069458일 전531

모든 응답(1)나는 대답할 것이다

  • P粉322106755

    P粉3221067552023-08-26 10:17:11

    경로 매개변수에는 동일한 키를 가진 여러 값이 포함될 수 있습니다. 그렇기 때문에 아마도 단일 문자열이 아닌 문자열 배열일 것입니다. 매개변수가 하나만 있다고 확신하는 경우 as string 来告诉打字稿编译器你知道这个变量 100% 是一个 stringstring[]<代码> 대신

    를 사용할 수 있습니다. 으아악

    .toString() 并且会有一个像 ["foo", "bar"] 这样的数组,您将得到 "foo ,bar" 作为 .toString()

    의 결과를 사용하려는 경우

    배열인지 확실하지 않은 경우 배열인 경우 첫 번째 값을 확인하세요.

    으아악

    회신하다
    0
  • 취소회신하다