<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.userList {
border: 1px solid red;
margin: 10px auto;
padding: 10px 10px;
}
</style>
</head>
<body>
<div id="app"></div>
<script src="./vue.js"></script>
<script src='./lodash.min.js'></script>
<script>
Vue.component('my-com', {
template: `
<div class="userList">
<div class="content">
<h3>{{ obj.name }}</h3>
<p>{{ obj.content }}</p>
</div>
<div>
<input placeholder='请输入您的姓名'>
</div>
</div>
`,
props: {
obj: Object
}
})
var App = {
data(){
return {
datas: [
{id: 1, name: 'Sunny', content: 'I am Sunny!'},
{id: 2, name: 'Jerry', content: 'I am Jerry!'},
{id: 3, name: 'Tommy', content: 'I am Tommy!'},
{id: 4, name: 'Marry', content: 'I am Marry!'},
]
}
},
template: `
<div>
<button v-on:click='change'>改变顺序</button>
<my-com v-for = '(item,index) in datas' :obj = 'item' :key = 'item.id'></my-com>
</div>
`,
methods: {
change: function(){
this.datas = _.shuffle(this.datas)
}
}
}
new Vue({
el: '#app',
template: `
<App />
`,
components: {
App
}
})
</script>
</body>
</html>