每次点击的时候让对应的年龄+1 这个年龄的值来自于父组件的数据 这个+1的操作应该是在子组件还是写在父组件里面(+1的操作不写在标签内 写在父组件或者子组件内 可以吗?)
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
li{display: inline-block;border: 1px solid black;width: 100px}
</style>
<script src="vue.js"></script>
<script type="text/javascript">
window.onload=function(){
var contents={
template:'#contents',
props:['age'],
data(){
return {
arr:[
{name:'zhangsan'},
{name:'lisi'},
{name:'wangwu'},
]
}
},
methods:{
change(num){
return num++; //这样不行
}
}
}
new Vue({
el:'#div1',
data:{
arr2:[43,55,20],
},
components:{
'contents':contents
},
})
}
</script>
</head>
<body>
<template id="contents">
<div>
<ul>
<li v-for="(item,index) in arr" @click=change(age[index])>{{item.name}}{{age[index]}}</li>
</ul>
</div>
</template>
<div id="div1">
<contents :age="arr2"></contents>
</div>
</body>
</html>
虽然不建议直接在子组件直接修改父组件的数据,但是你这个需求实现起来还挺简单的
1.
改成
2.
改成