Vue-起步(4)

一、组件化的理解

女孩子版:女孩子出门麻烦吧,需要选择衣服,鞋子,包包…而这些衣服鞋子什么的可以看作组件。

男孩子版:做一个项目很难吧,要实现很多功能吧,要加很多班吧,加班要点外卖吧,就美团外卖首页的轮播图,搜索框什么的的都可以看作组件。

二、使用组件

Vue-起步(2)里面写了一个简单的TodoList,现在通过组件化的形式进行修改

全局组件:
在这里插入图片描述
局部组件:
在这里插入图片描述

三、代码

<!DOCTYPE html>
<html>
 <head>
 	<meta charset="utf-8">
 	<title>TodoList</title>
 <script src="./vue.js"></script><!-- 引入下载的vue.js库 -->
 </head>
 <body>
 <div id="app">
   <input type="text" v-model="inputVaule" />
   <button v-on:click="handleBtnClick">提交</button>
   <ul>
     <!-- item指数组list的每一项 -->
     <!-- <li v-for="item in list">{{item}}</li> -->
     
     <todo-item v-for="item in list" v-bind:content="item"></todo-item>
     <!-- 组件的名称叫TodoItem,但实际用的时候变成小写来用了(todo-item)-->
     <!-- 这段话的意思是我们在循环list的时候,
     把他的每一项item用v-bind的形式通过content变量传给组件todo-item,
     todo-item用props接收 -->
   </ul>
 </div>
 
 <script>
   /* Vue.component()是vue创建全局组件的方法 
     组件的名称叫TodoItem,组件内容放在template里面
   */
   /* Vue.component("TodoItem", {
     props: ['content'],
     template: "<li>{{ content}}</li>"
   }) */
   
   /* 定义局部组件 */
   var TodoItem = {
     props: ['content'],
     template: "<li>{{ content}}</li>"
   }
   /* 局部组需要注册到vue实例里面 */
   
   var app = new Vue({
     el: "#app",
     /*局部组件注册 */
     components: {
       TodoItem: TodoItem /* 把TodoItem注册到vue实例中,注册后还是叫TodoItem */
     },
     data: {
       list: ["春","夏"],
       inputVaule: ""
     },
     methods: {
       handleBtnClick: function() {
         this.list.push(this.inputVaule)
         this.inputVaule = ""
       }
     }
   })
 </script>
 </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值