2016-07-07 2 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 возвращается undefined – TDawg

ответ

1

Трудно сказать, не видя все ваше приложение Vue. Это точно, вы не можете использовать content.last в вас val объект, так как он будет неопределенным. В основном вы назначаете его до его существования. Вычислительный объект должен помочь там.

что-то вроде:

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

Смежные вопросы