javascript - 如何给Vue的data中的数组赋值?
本文介绍了javascript - 如何给Vue的data中的数组赋值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
---------html-----------
<tbody id="tbody">
<tr>
<td v-for="item in index">{{item.text}}</td>
<td v-for="item in domain">{{item.text}}</td>
<td v-for="item in price">¥{{item.text}}</td>
</tr>
</tbody>
----------script------------
var vm = new Vue({
el: "#tbody",
data: {
index: [],
domain: [],
price: []
}
})
.....
function getBackData(params, page, callback) {
clearTimeout(timer);
timer = setTimeout(function() {
ajaxHandler = $.ajax({
url: '/get_history_price?p=' + page,
dataType: 'json',
type: 'get',
data: params,
success: function(result) {
for (i = 0; i < data.length; i++) {
/*--------问题所在,以下是错误的写法---------*/
vm.index[i] = i + 1;
vm.domain[i] = data[i].domain;
vm.price[i] = data[i].price;
/*-----------如何给以上数据赋值------------*/
}
if (callback) {
callback(result['page']['total_page'], result['page']['current'])
}
}
});
}, 500);
}
想要实现的是如下效果,例如:
1 qqrr.com ¥5000
2 xxxe.com ¥4566
3 vues.com ¥3456
求大神答疑解惑!
解决方案
问题已解决,感觉大家!我的解决方法如下(试了Vue.set(object, key, value)),但是报错了)
html
<tbody id="tbody">
<tr v-for="item in items">
<td> {{item.index}} </td>
<td> {{item.domain}} </td>
<td> {{item.price}} </td>
<td> {{item.trade_type}} </td>
<td> {{item.endtime}} </td>
<td> {{item.platform}} </td>
</tr>
</tbody>
js
var vm = new Vue({
el: "#tbody",
data: {
items: []
}
})
...
vm.items.push({
index: i + 1,
domain: data[i].domain,
price: data[i].price,
trade_type : data[i].trade_type,
endtime : data[i].endtime,
platform : data[i].platform
})
这篇关于javascript - 如何给Vue的data中的数组赋值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文