在vue中重用相同的v-app

时间:2017-12-23 13:35:41

标签: vuejs2

我有以下pug / html:

            table.accountinfo.table.table-sm
              thead.thead
                tr 
                  th #
                  th Name
                  th Address
                  th Balance
              tbody
                tr(v-for="account in accounts") 
                  td {{account.accountID}}
                  td {{account.name}}
                  td
                    span(title='{{account.accountAddress}}').ellipsisoverflow {{account.accountAddress}}
                  td
                    span {{account.balance}}
            table.accountinfo.table.table-sm
              thead.thead
                tr 
                  th #
                  th Name
                  th Address
                  th Balance
              tbody
                tr(v-for="account in accounts") 
                  td {{account.accountID}}
                  td {{account.name}}
                  td
                    span(title='{{account.accountAddress}}').ellipsisoverflow {{account.accountAddress}}
                  td
                    span {{account.balance}}

以下vue脚本:

var accountinfo = new Vue({
    el: '.accountinfo',
    data: {
        accounts: []
    }
});

当我打开我的html文件时,只有第一个表格被正确创建(带有正确数据的多行)。但是,第二个表未正确创建并显示包括括号的值(因此不会被替换为vue)。我认为是这种情况,因为相同的v-app被使用了两次。如何配置它以便使用相同的v-app正确创建两个元素/表?

1 个答案:

答案 0 :(得分:2)

我不认为它是专门写在任何地方的,但是根据docs链接是使用id完成的,这是为了确保一个vue实例仅链接到1个根元素。

无法在多个元素上安装1个应用。

根据您的编辑,您可以通过以下几种方式完成所需操作:

  1. 更改第二个表单的选择器,并使用该Id注册另一个Vue实例。
  2. 有一个Vue实例注册的包装容器,然后每个表都可以从同一个accounts变量中读取。