私はVueを初めて使っています。ここに状況があります。私がここでやっているよりも良い方法があるはずです。Vue - テーブルの列をデータオブジェクトにバインドする方法は?
私は、単純な2列のHTMLテーブルを持っている:
<table id="contacts">
<tbody>
<tr>
<th class="column-1">
Contact Id
</th>
<th class="column-2">
Applications assigned count
</th>
</tr>
<tr class="odd" id="contacts_tr_1">
\t <td class="column-1">
1
</td>
\t <td class="column-2">
247
</tr>
<tr class="even last" id="contacts_tr_2">
\t <td class="column-1">
2
</td>
\t <td class="column-2">
0
</td>
</tr>
<tr class="even last" id="contacts_tr_2">
\t <td class="column-1">
3
</td>
\t <td class="column-2">
44
</td>
</tr>
<tr class="even last" id="contacts_tr_2">
\t <td class="column-1">
.........
</td>
\t <td class="column-2">
.........
</td>
</tr>
<tr class="even last" id="contacts_tr_2">
\t <td class="column-1">
10
</td>
\t <td class="column-2">
76
</td>
</tr>
</tbody>
</table>
結果によって決定された私は、「アプリケーションの割り当て数」欄を(だけで、特定の行のために)更新したいですAJAXコールのしたがって、表が10行あると仮定すると、AJAX呼び出しは、行1,4および7の「Applications assigned count」列の値を更新する必要があると言うことがあります。それぞれ247,80および356である。私はこのようなJSONオブジェクトを私のVueデータオブジェクトとして使うことを考えています。なぜなら、AJAXレスポンスはこのように見えるからです。
data: {
num_of_applications_assigned: [
{
"party_id": "1",
"num": "247"},
{
"party_id": "4",
"num": "80"},
{
"party_id": "7",
"num": "356"}
]
},
私はAJAX呼び出しによって更新されますVueのデータオブジェクトへの「アプリケーションの割り当て数」列をバインドする方法があるかもしれないと思ったが、私は追加するよりも、この他を行う方法が表示されません各個人に固有のv-テキスト<TD>
セルはい
let vm = this;
jQuery.ajax({
url: myurl
}).then(function(response) {
for (var i = 0, len = vm.num_of_applications_assigned.length; i < len; i++) {
var party_id = vm.num_of_applications_assigned[i].party_id;
var dref = 'vm.num_of_applications_assigned_'+party_id;
var dnum = vm.num_of_applications_assigned[i].num;
eval(dref + ' = ' + dnum + ';');
}
});
:
<div v-text="num_of_applications_assigned_1"></div>
<div v-text="num_of_applications_assigned_2"></div>
etc
しかし、これは私が動的に参照を構築する必要があるとして、AJAX応答の結果とそれらのV-テキストを更新するいくつかの非常に複雑なコードを書くに私をリードしています、私が知っている評価が悪い - それが私がここで助けを求めている理由です!これを行うためのより良い方法は何ですか、またはこの状況に適したVueではありませんか?
使用V-のためのディレクティブとええVUEは、あなたがする必要があるすべてはあなたのデータはAjaxの呼び出しと更新を再度レンダリングうテーブルからの結果で更新している反応性です。 –
テーブルの行がサーバー上であらかじめ作成されているので、この場合はv-forを使用することはできません。私は個々の行やセルにものを追加することができます。あなたは何を提案しますか? –