Vue-组件化应用构建

来源:互联网 发布:世宗大王级驱逐舰知乎 编辑:程序博客网 时间:2024/05/30 02:26

组件系统是一种抽象,允许我们使用小型、自包含和通常可复用的组件构建大型应用

这里写图片描述

创建组件

//定义名为todo-item的新组件Vue.component('todo-item',{    template:<li>这是一个代办项</li>})

构建组件模板

<ol>   <todo-item></todo-item></ol>

但是在河阳会为每个代办项创建相同的文本,所以我们来修改一下组件的定义,使之能接受一个属性

Vue.component('todo-item', {  // todo-item 组件现在接受一个  // "prop",类似于一个自定义属性  // 这个属性名为 todo。  props: ['todo'],  template: '<li>{{ todo.text }}</li>'})

现在我们用v-bind指令将代办项传到每一个重复的组件

<div id="app-7">  <ol>    <!--      现在我们为每个 todo-item 提供待办项对象      待办项对象是变量,即其内容可以是动态的。      我们也需要为每个组件提供一个“key”,晚些时候我们会做个解释。    -->    <todo-item      v-for="item in groceryList"      v-bind:todo="item"      v-bind:key="item.id">    </todo-item>  </ol></div>
Vue.component('todo-item', {  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: '随便其他什么人吃的东西' }    ]  }})

这只是一个假设的例子,我们已经设法将应用分割成了更小的两个单元,子单元通过props接口实现了父单元很好的解耦,

原创粉丝点击