2017-12-23 1 views
0

Ich habe die unten Mops/html:Wiederverwendung der gleichen v-App in vue

  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}} 

Und das unter vue Skript:

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

Wenn ich meine HTML-Datei öffnen, wird nur die erste Tabelle ist richtig erstellt (mehrere Zeilen mit den richtigen Daten). Die zweite Tabelle wird jedoch nicht korrekt erstellt und zeigt die Werte einschließlich der Klammern an (und wird somit nicht durch den Test ersetzt). Ich nehme an, dass dies der Fall ist, da dieselbe V-App zweimal verwendet wird. Wie kann ich dies so konfigurieren, dass beide Elemente/Tabellen mit derselben v-App korrekt erstellt werden?

+0

Wo verwenden Sie 'v-model'? – imcvampire

+0

Das erste Problem mit deinem Code ist, dass du 1 Vue App nicht auf mehr als 1 Element mounten kannst! – imcvampire

+0

V-Modell sollte V-App sein, ich habe dies in der Frage aktualisiert. Das von dir beschriebene Problem ist eigentlich meine Frage, ich möchte 1 vue app auf mehrere Elemente mounten. Ist das überhaupt möglich oder ist das keine Option? –

Antwort

2

Ich glaube nicht, dass es speziell überall geschrieben ist, aber wie die docs Verknüpfung mit IDs getan wird, dies ist sicherzustellen, dass eine Vue-Instanz nur mit 1 Wurzelelement verknüpft ist.

Es ist nicht möglich, 1 App auf mehreren Elementen zu mounten.

Im Einklang mit Ihrem bearbeiten, haben Sie ein paar Möglichkeiten zu tun, was Sie wollen:

  1. Ändern der Wähler für die zweite Form und registrieren eine andere Vue Instanz mit dieser ID.
  2. Haben Sie einen Verpackungscontainer, in dem die Vue-Instanz registriert ist, kann jede Tabelle dieselbe accounts Variable lesen.
Verwandte Themen