2016-07-07 5 views
0

vue.js 및 vue-qrcode를 사용 중입니다. 일부 사용자 데이터를 localStorage에 저장하고 올바르게 가져옵니다. vue.js 데이터에서 다른 데이터 매개 변수로 값을 가져 오는 방법

<template> 
    <div class="row" style="100%;"> 
     <div class="center-block" style="width:200px"> 
      <qrcode :size="size" :val="val"></qrcode> 
     </div> 
    </div> 
    {{content.last}} 
</template> 
<script> 
    import store from '../store' 
    var content = []; 
    export default { 
     data() { 
       return { 
        content: store.todoStorage.fetch(), 
        size: 250, 
        fgColor: '#007a33', 
        bgColor: '#ffc72c', 
        val: "BEGIN:VCARD\r\nVERSION:2.1\r\nN:john;doe\r\nFN:asd " + content.last + "\r\nTEL;TYPE=cell:234\r\nEMAIL;PREF;INTERNET:234234\r\nEND:VCARD" 
       } 
      }, 
      components: { 
       qrcode: VueQr 
      }, 

    } 

</script> 

나는 그것이 작동하지만,의 QR 어떻게 든 형식이 잘못되었습니다 템플릿으로 문자열을 넣어했습니다. 변수를 제거하고 data() val 모델의 텍스트 만 사용하면 QR이 완벽하며 작동합니다. 하지만 위의 콘텐츠 모델에서 4 가지 값을 가져와야합니다.

+0

방금 ​​계산 된 값을 넣는 테스트를했는데 ... this.content.last가 정의되지 않은 – TDawg

답변

1

전체 Vue 앱을 보지 않고 말하기가 어렵습니다. 이 정도는 확실히 당신이 val 개체를 정의 할 수 없으므로 content.last을 사용할 수 없습니다. 기본적으로 그것을 할당하기 전에 존재합니다. 계산 된 객체가 도움이 될 것입니다. 같은

뭔가 :

computed: { 
    val() { 
    var content = store.todoStorage.fetch(); 
    return "BEGIN:VCARD\r\nVERSION:2.1\r\nN:john;doe\r\nFN:asd " + content.last + "\r\nTEL;TYPE=cell:234\r\nEMAIL;PREF;INTERNET:234234\r\nEND:VCARD" 
    } 
} 

다시 말하지만,이 코드를 보지 않고 해결하는 것입니다,하지만 올바른 경로에 넣을 수 있는지 확실하지 않습니다.

+0

이라는 값으로 되돌아갑니다 ... 나는 끝에 여분의 쉼표도 추가했습니다. – TDawg