0
我最近开始研究Vue JS.但是,我面临着一个问题。 请参考下面的代码: -Vue JS列出项目v-repeat track-by属性不起作用
<div id="demo">
<ul id="list_music">
<li v-repeat="musics" track-by="_uid">{{ name }}</li>
</ul>
</div>
var demo = new Vue({
el: '#demo',
data : {
musics : null
},
created: function() {
//this.fetchData();
setInterval(this.fetchData, 5000);
},
methods : {
fetchData: function(){
var self = this;
console.log('test');
$.ajax({
type: "POST",
dataType : "json",
url : "test.php",
data: {},
success: function (response){
//self.$data.musics = response;
self.$set("musics", response);
}
});
}
}
});
和内test.php的PHP代码是如下:
<?php
$array = [
array("name" => "Test name 0", "_uid" => 0),
array("name" => "Test name 1", "_uid" => 1),
array("name" => "Test name 2", "_uid" => 2),
array("name" => "Test name 3", "_uid" => 3),
array("name" => "Test name 4", "_uid" => 4),
array("name" => "Test name 5", "_uid" => 5),
];
echo json_encode($array);
?>
按照上面的代码中,我试图实现的是,代码将每5秒执行一次ajax请求,并且会动态地在ul标签下插入新的li元素。并且如果任何旧值被改变,那么它也应该触发视图中的改变。
我已经看到了Vue的JS引导http://vuejs.org/guide/list.html#Using_track-by和使用的轨道由参数,但却我不能让它work.When我更换阵列本 array("name" => "Test name Changed", "_uid" => 0);echo json_encode($array);
而是更新价值第一个索引从“测试名称0”改为“测试名称已更改”替换整个ul里。
任何人都可以告诉我我在这里做什么错吗?
感谢, Ronak沙阿