Vue-组件化应用构建

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

这里写图片描述

创建组件
//定义名为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接口实现了父单元很好的解耦,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值