TeraGo
618
2020-02-11 16:27:36 작성 2020-02-11 16:29:50 수정됨
4
475

Vue function 호출 질문 입니다.


export default {
   name: 'app',
   methods: {
     item: function(msg) {
        if ( msg == 'OK') {
           console.log('OK!');
        } else if ( msg == 'ERROR' ) {
           console.log('ERROR');
        } else {
           console.log(msg);
        }
     }
   }
 }
function Item(){
   console.log('이벤트 작동');
   return ItemCallBack('OK');
}

function ItemCallBack(msg) {
   item(msg);
}

지금은 임의로

var APP;

export default {
   created: function() {
     APP = this;
   }
   methods: {
     item: function() {
        console.log('호출');
     }
   }
}

APP.item

이런 방식으로 호출 하고 있습니다.


특정함수 실행 후 CallBack 실행을 해야하는데 Vue methods 안에 있는 함수를 호출하고자 합니다.

0
  • 답변 4

  • nullpointerTlqkf
    2020-02-11 16:48:50 작성 2020-02-11 16:49:20 수정됨

    비동기 처리를 위한 함수를 작성중인게 아니라면 {import 해온 vue 파일 이름}.methods.items() 이렇게 사용 가능합니다. 

    지금 전혀 비동기 처리에 관한 콜백함수 문법이 지켜지지 않는거같습니다. 

    검색을 통해 비동기 처리에 대한 콜백 문법이나 화살표함수에 대해 알아보는게 좋을거같아요.


  • 니르바나
    2k
    2020-02-11 16:49:01

    fucntion 특정함수(function callback){

      특정조건:

        callback()

    }

    이렇게 하면 됩니다.

    어떤게 문제인지 잘 모르겠습니다.

    콜백함수를 어느 함수에서 실행하시고 싶은지 모르겠어서 위처럼 작성했습니다..

    콜백함수는 그냥 인자로 함수를 넘기고 조건에 맞춰서 함수 호출해주는거에요.

    그게 끝입니다.

  • TeraGo
    618
    2020-02-11 17:02:25

    @nullpointerTlqkf


    import 해온 파일이 아니라 app.vue 단일 파일에서 전부 처리하고 있습니다. 


    CallBack 처리를 해주고싶으나.. 제가 직접 작동시킬 수 있는 함수가 아닙니다 ㅠㅠ


    다른 js 에서 작동 후 ItemCallBack(msg) 호출해서 msg 에 따른 이벤트를 작동시키는 구조로 잡혀있어서 제가 수정할 수 없습니다!


    답변 감사합니다.


    @보보8


    글을 제대로 못쓴거같습니다.


    CallBack을 제가 직접 호출하는 방식이 아닌 외부 js 에서 특정 함수 실행 후 CallBack 을 실행시켜 msg 값을 넘겨주고 있습니다.


    저는 그 msg 값만 받아오고 있습니다. 


    msg 값을 Vue methods 안에 있는 item(msg) 로 실행시켜 이벤트를 작동하고자 합니다.


    답변 감사합니다.


  • Eggplantiny
    279
    2020-02-11 17:28:44

    다른 외부 js 에서 실행되는 특정함수를 Promise 로 Wrapping 후에 async / await 으로 처리를 하든 Promise 로 처리 하는 방식으로 만드셔야 할것 같네요.



  • 로그인을 하시면 답변을 등록할 수 있습니다.