VUE.js 메서드의 함수에서 매개 변수로 함수를 호출하려면 어떻게해야합니까?

Ilya Ch.

내 문제로 나를 도와 주면 Vue.js를 사용했습니다. 내 임무는 base64에서 이미지를 변환하고 다음 서버로 보내는 것입니다. 그래서 아래에 코드를 작성했지만 오류가 발생했습니다. readfile 함수를 호출 할 때 오류가 다시 발생했습니다. 여기에 이미지 설명을 입력하십시오.

오류는

"this.bufferToBase64는 함수가 아닙니다."

내 HTML 코드는 다음과 같습니다.

     <div>
      <button class="btn">Upload</button>
      <input type="file" id="fileItem" @change="readfile('fileItem')">
    </div>

그리고 내 방법은 다음과 같습니다.

  readfile(id) {
   let f = document.getElementById(id).files[0];
   console.log(f);
    let r = new FileReader();
    r.readAsArrayBuffer(f);
    r.onload = function (e) {
      console.log(e);
      let data = r.result;
      console.log('data: ' + data);
      let bytes = new Uint8Array(data);
      console.log('bytes: ' + bytes);
      let b64encoded = this.bufferToBase641(bytes);
      console.log(b64encoded);
    };
  },
  bufferToBase641(buf) {
    let binstr = Array.prototype.map.call(buf, function (ch) {
      return String.fromCharCode(ch);
    }).join('');
    return btoa(binstr);
  }

다음으로 Element.io에서 업로드 컴포넌트를 사용하겠습니다. 하지만 지금은 같은 오류가 있습니다. 내 HTML :

      <el-upload
               :file-list="fileList"
               :auto-upload="false"
               :before-upload="readfile"
               accept="image/*">
      <el-button type="primary" style="padding: 10px 40px;">
        <span class="glyphicon glyphicon-picture"></span> Attach</el-button>
    </el-upload>

그리고 내 방법 :

  setAtrbt(){
   let input = document.querySelector('.el-upload__input');
   console.log(input);
   input.setAttribute('onchange', 'vm.readfile(this.files[0])')
 },
  readfile(id) {
   let f = document.getElementById(id).files[0];
   console.log(f);
    let r = new FileReader();
    r.readAsArrayBuffer(f);
    r.onload = function (e) {
      console.log(e);
      let data = r.result;
      console.log('data: ' + data);
      let bytes = new Uint8Array(data);
      console.log('bytes: ' + bytes);
      let b64encoded = this.bufferToBase641(bytes);
      console.log(b64encoded);
    };
  },
  bufferToBase641(buf) {
    let binstr = Array.prototype.map.call(buf, function (ch) {
      return String.fromCharCode(ch);
    }).join('');
    return btoa(binstr);
  }
},
mounted(){
  this.setAtrbt();
}

누군가 내가 bufferToBase641 함수를 어떻게 사용하는지 말해 줄 수 있습니까? 그리고 Element.io에서의 내 행동이 좋지 않을까요?

user6748331

범위 문제가 있습니다. this자체 this개체 가있는 중첩 함수에 있으므로에 대한 참조를 잃었습니다 . 코드 개선 :

eadfile(id) {
  let f = document.getElementById(id).files[0];
  console.log(f);
  let r = new FileReader();
  r.readAsArrayBuffer(f);
  var self = this // ADD THIS
  r.onload = function (e) {
    console.log(e);
    let data = r.result;
    console.log('data: ' + data);
    let bytes = new Uint8Array(data);
    console.log('bytes: ' + bytes);
    let b64encoded = self.bufferToBase641(bytes); // CHANGE THIS
    console.log(b64encoded);
  };
},

r.onload콜백을 위해 화살표 함수를 사용할 수도 있습니다 .

eadfile(id) {
  let f = document.getElementById(id).files[0];
  console.log(f);
  let r = new FileReader();
  r.readAsArrayBuffer(f);
  r.onload = e => { // CHANGE JUST THIS LINE
    console.log(e);
    let data = r.result;
    console.log('data: ' + data);
    let bytes = new Uint8Array(data);
    console.log('bytes: ' + bytes);
    let b64encoded = this.bufferToBase641(bytes);
    console.log(b64encoded);
  };
},

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Lua에서 내 함수에 매개 변수로 전달 된 함수에서 함수의 매개 변수를 얻으려면 어떻게해야합니까?

분류에서Dev

매개 변수가있는 함수 내에서 변수 함수를 호출하려면 어떻게해야합니까?

분류에서Dev

고정 매개 변수로 numpy에서 함수를 벡터화하려면 어떻게해야합니까?

분류에서Dev

문자열을 매개 변수로 사용하여 Go에서 Rust 함수를 호출하려면 어떻게해야합니까?

분류에서Dev

메소드를 함수의 매개 변수로 추가하려면 어떻게해야합니까?

분류에서Dev

매개 변수없이 메서드를 만들고 호출하려면 어떻게해야합니까?

분류에서Dev

webook 알림에서 AWS Lambda 함수로 매개 변수를 가져 오려면 어떻게해야합니까?

분류에서Dev

Spine.js의 Ajax 통합을 사용하여 각 API 호출에 추가 매개 변수를 전달하려면 어떻게해야합니까?

분류에서Dev

두 개의 다른 함수에서 두 개의 변수를 호출하고 추가하려면 어떻게해야합니까? (Python3)

분류에서Dev

두 개의 다른 스케치 / 캔버스간에 P5.js 함수를 호출하는 메서드를 공유하려면 어떻게해야합니까?

분류에서Dev

Vue.js에서 데이터 속성에 변수로 액세스하려면 어떻게해야합니까?

분류에서Dev

내 경로 URL에서 URL 매개 변수의 배치를 제어하려면 어떻게해야합니까?

분류에서Dev

함수에서 매개 변수를 어떻게 표시해야합니까?

분류에서Dev

Reitit에서 원본 헤더 매개 변수를 필수로 설정하려면 어떻게해야합니까?

분류에서Dev

매개 변수를 익명 함수로 감싸지 않고 JS 함수로 전달하려면 어떻게해야합니까?

분류에서Dev

동일한 함수에서 코드의 일부를 다시 호출하려면 어떻게해야합니까?

분류에서Dev

값을 전송하지 않고 매개 변수로 params string []이있는 메소드를 호출하려면 어떻게해야합니까?

분류에서Dev

Scheme에서 함수를 더 높은 함수로 변수로 구현하려면 어떻게해야합니까?

분류에서Dev

이메일 콘텐츠에서 숨겨진 매개 변수를 사용하여 다른 웹 페이지를 호출하려면 어떻게해야합니까?

분류에서Dev

node.js에서 특정 경로 매개 변수를 항상 다른 값으로 대체하려면 어떻게해야합니까?

분류에서Dev

연결된 html + object 값이있는 변수에서 함수 매개 변수를 전달하려면 어떻게해야합니까?

분류에서Dev

반환 유형으로 정수를 사용하여 함수의 매개 변수에 long 유형 값을 전달하려면 어떻게해야합니까?

분류에서Dev

install () 메소드의 매개 변수로 키 값을 제공하려면 어떻게해야합니까?

분류에서Dev

이 메서드를 어떻게 호출하고 매개 변수를 전달해야합니까?

분류에서Dev

변수가있는 함수를 호출하고 매개 변수로 전달하려면 어떻게해야합니까? Jquery

분류에서Dev

Rails를 사용하여 여러 요청 매개 변수에서 하나의 매개 변수를 추출하려면 어떻게해야합니까?

분류에서Dev

C #에서 GraphQLHttpClient에 두 개의 매개 변수를 전달하려면 어떻게해야합니까?

분류에서Dev

WebApi Odata에서 개체 목록을 매개 변수로 전달하려면 어떻게해야합니까?

분류에서Dev

C에서 함수 매개 변수로 Rust 함수를 호출하면 SegFault가 발생합니다.

Related 관련 기사

  1. 1

    Lua에서 내 함수에 매개 변수로 전달 된 함수에서 함수의 매개 변수를 얻으려면 어떻게해야합니까?

  2. 2

    매개 변수가있는 함수 내에서 변수 함수를 호출하려면 어떻게해야합니까?

  3. 3

    고정 매개 변수로 numpy에서 함수를 벡터화하려면 어떻게해야합니까?

  4. 4

    문자열을 매개 변수로 사용하여 Go에서 Rust 함수를 호출하려면 어떻게해야합니까?

  5. 5

    메소드를 함수의 매개 변수로 추가하려면 어떻게해야합니까?

  6. 6

    매개 변수없이 메서드를 만들고 호출하려면 어떻게해야합니까?

  7. 7

    webook 알림에서 AWS Lambda 함수로 매개 변수를 가져 오려면 어떻게해야합니까?

  8. 8

    Spine.js의 Ajax 통합을 사용하여 각 API 호출에 추가 매개 변수를 전달하려면 어떻게해야합니까?

  9. 9

    두 개의 다른 함수에서 두 개의 변수를 호출하고 추가하려면 어떻게해야합니까? (Python3)

  10. 10

    두 개의 다른 스케치 / 캔버스간에 P5.js 함수를 호출하는 메서드를 공유하려면 어떻게해야합니까?

  11. 11

    Vue.js에서 데이터 속성에 변수로 액세스하려면 어떻게해야합니까?

  12. 12

    내 경로 URL에서 URL 매개 변수의 배치를 제어하려면 어떻게해야합니까?

  13. 13

    함수에서 매개 변수를 어떻게 표시해야합니까?

  14. 14

    Reitit에서 원본 헤더 매개 변수를 필수로 설정하려면 어떻게해야합니까?

  15. 15

    매개 변수를 익명 함수로 감싸지 않고 JS 함수로 전달하려면 어떻게해야합니까?

  16. 16

    동일한 함수에서 코드의 일부를 다시 호출하려면 어떻게해야합니까?

  17. 17

    값을 전송하지 않고 매개 변수로 params string []이있는 메소드를 호출하려면 어떻게해야합니까?

  18. 18

    Scheme에서 함수를 더 높은 함수로 변수로 구현하려면 어떻게해야합니까?

  19. 19

    이메일 콘텐츠에서 숨겨진 매개 변수를 사용하여 다른 웹 페이지를 호출하려면 어떻게해야합니까?

  20. 20

    node.js에서 특정 경로 매개 변수를 항상 다른 값으로 대체하려면 어떻게해야합니까?

  21. 21

    연결된 html + object 값이있는 변수에서 함수 매개 변수를 전달하려면 어떻게해야합니까?

  22. 22

    반환 유형으로 정수를 사용하여 함수의 매개 변수에 long 유형 값을 전달하려면 어떻게해야합니까?

  23. 23

    install () 메소드의 매개 변수로 키 값을 제공하려면 어떻게해야합니까?

  24. 24

    이 메서드를 어떻게 호출하고 매개 변수를 전달해야합니까?

  25. 25

    변수가있는 함수를 호출하고 매개 변수로 전달하려면 어떻게해야합니까? Jquery

  26. 26

    Rails를 사용하여 여러 요청 매개 변수에서 하나의 매개 변수를 추출하려면 어떻게해야합니까?

  27. 27

    C #에서 GraphQLHttpClient에 두 개의 매개 변수를 전달하려면 어떻게해야합니까?

  28. 28

    WebApi Odata에서 개체 목록을 매개 변수로 전달하려면 어떻게해야합니까?

  29. 29

    C에서 함수 매개 변수로 Rust 함수를 호출하면 SegFault가 발생합니다.

뜨겁다태그

보관