组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div id="app-7">
<ol>
@*创建一个todo-item组件实例*@
@*v-bind 指令将待办项传到循环输出的每个组件中*@
<todo-item
v-for="item in groceryList"
v-bind:todo="item"
v-bind:key="item.id">
</todo-item>
</ol>
</div>
</body>
</html>
<script>
//定义名为todo-item的新组件
Vue.component('todo-item', {
//todo-item组件现在接受一个"props",类似于一个自定义特性。这个prop名为todo。
props: ['todo'],
template:'<li>{{todo.text}}</li>'//这个是待办项
})
var app7 = new Vue({
el: '#app-7',
data: {
groceryList: [
{ id: 0, text: '素菜' },
{ id: 1, text: '肉' },
{ id: 2, text: '鱼' }
]
}
})
</script>