【问题标题】:pass the data of a specific key from javascript to vue将特定键的数据从 javascript 传递给 vue
【发布时间】:2021-07-05 03:54:49
【问题描述】:

我是 vue 新手,有一个网络应用程序。 在 javascript 中,有查询集数据,其中包含标题、作者等键。 我想把title key对应的值传给vue。 我怎么能这样做?

我试过 book.title,但在 vue 中出现错误。

            <tbody>
        <tr v-for="(row, index) in filteredRows" :key="`iSBN-${index}`">
            <td v-html="highlightMatches(row.title)">{{ row.title }}</td>
            <td>{{ row.author }}</td>

        </tr>
        </tbody>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

                <script>
        var book = {{ query_results_book_json|safe}};
        console.log(book);
        const app = new Vue({
            el: '#app',
            data: {
                filter:'',
                rows: [
                    { title: book.title, author: '' }
                ]
            }
})
</script>

【问题讨论】:

  • 如果出现错误。那么错误是什么?
  • 不可能。您只能将组件传递给组件
  • @Mr.完美主义者 那我怎么才能在 vue 中获取 book.title 呢?
  • @BadPiggie vue.js:597 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性 'toLowerCase'”

标签: javascript vue.js


【解决方案1】:

data 属性必须是函数。

const book = {title: 'Some Title', author: 'Some Author'};

const app = new Vue({
  el: '#app',
  data: () => ({
    filter: '',
    rows: [book]
  }),
  mounted() {
    console.log(this.rows);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app"></div>

【讨论】:

  • title 在我的情况下不是 const,它来自后端呈现的 json 数据(query_results_book_json)
  • 你能把你的完整代码贴在一个 sn-p 中吗?
猜你喜欢
  • 2021-01-28
  • 2021-01-28
  • 2018-10-20
  • 1970-01-01
  • 2021-04-21
  • 2017-04-15
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
相关资源
最近更新 更多