【问题标题】:How to grab a value from vue.js data into a another data parameter如何从 vue.js 数据中获取一个值到另一个数据参数中
【发布时间】:2016-11-09 19:56:24
【问题描述】:

我正在使用 vue.js 和 vue-qrcode 我将一些用户数据存储在 localStorage 中并正确获取。

<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 个值。

【问题讨论】:

  • 我刚刚测试了把它也放在计算值中...... this.content.last 回来未定义

标签: javascript vue.js vue-component


【解决方案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"
  }
}

同样,不确定这是否会在没有看到您的代码的情况下解决,但它可能会让您走上正确的道路。

【讨论】:

  • 就是这样...我还在结尾加了一个逗号
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 1970-01-01
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-05-02
  • 1970-01-01
相关资源
最近更新 更多