html
<div id="app" >
<h2>Todo:</h2>
<ol class='tasks' >
<t-element v-for='t in todos' :t='t' ></t-element>
</ol>
<h3>
Add new task:
</h3>
<input v-model="newt" type='text'/>
<button @click="addt" >
Add task
</button>
</div>
js
Vue.component('t-element',{
props : ['t'],
data : function () {
},
template : `<li>
<label>
<input type="checkbox"
>
<span >
{{ t.text }}:{{t.timeput}}
</span>
</label>
</li>`,
});
new Vue({
el: "#app",
data: {
todos: [
{ text: "t" timeput:20 },
{ text: "tt", timeput:1},
{ text: "ttt", timeput:19 },
{ text: "tttt", timeput:100 }
],
newt : "",
},
mounted (){
this.todos.forEach(function(s){
s.timeput = setInterval(function(){
s.timeput += 1;
}, 1000);
});
},
methods: {
addt: function(){
this.todos.push({
text:this.newt,
timeput:2
});
this.newt = '';
},
}
});
Суть вот в чем....
есть массив данных....в mounted происходит инкрименация свойства timeput всех элементов массива...
но при добавлении нового элемента в массив ...значение timeput нового элемента не меняется