vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?

文章目录

  • vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?
  • 什么是组件?
  • 为什么要使用组件?
  • 如何使用组件呢?
    • hello,组件
    • 如何给组件里面传递参数呢?
    • 组件的注册分为全局注册和局部注册
    • 思考一下,如果是多个属性传入组件呢?

什么是组件?

  组件是可复用的 Vue 实例,说白了就是一组可以重复使用的模板,跟 JSTL 的自定义标签、Thymeleaf 的 th:fragment等框架有着异曲同工之妙。通常一个应用会以一棵嵌套的组件树的形式来组织:

为什么要使用组件?

  你可以将组件进行任意次数的复用,减少代码量,提高代码的重用性,比如侧边栏,搜索框之类的。
  组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树。

如何使用组件呢?

vue.js官网讲解组件

下面我们一起来看看怎么初步使用它吧:

hello,组件

 <script type="text/javascript">// 先注册组件Vue.component('my-component-li', {template: '<li>Hello li</li>'});// 再实例化 Vuevar vm = new Vue({el: '#vue'});</script><div id="vue"><ul><!--使用自定义的组件--><my-component-li></my-component-li></ul></div>
  • Vue.component():注册组件
  • my-component-li:自定义组件的名字
  • template:组件的模板

如何给组件里面传递参数呢?

  向上面那种一点用都没有223,因为没有参数传进去,意义性不大,如果需要传递参数进去,则需要props属性了

  ps:props里面的属性值不能大写

 <script type="text/javascript">// 先注册组件Vue.component('my-component-li', {props: ['item'],template: '<li>Hello {{item}}</li>'});// 再实例化 Vuevar vm = new Vue({el: '#vue',data: {items: ["张三", "李四", "王五"]}});</script><div id="vue"><ul><my-component-li v-for="item in items" v-bind:item="item"></my-component-li></ul></div>

说明:

  • v-for=“item in items”:遍历 Vue 实例中定义的名为 items 的数组,并创建同等数量的组件
  • v-bind:item=“item”:将遍历的 item 项绑定到组件中 props 定义的名为 item 属性上;= 号左边的 item 为 props 定义的属性名,右边的为 item in items 中遍历的 item 项的值
  • 可以这么理解,数据的流向是:先从data种items流向了v-for中的item,然后再由item流向了props中的item。

组件的注册分为全局注册和局部注册

全局注册:

Vue.component('my-component-name', {// ... options ...})

  全局注册的组件可以用在其被注册之后的任何 (通过 new Vue) 新创建的 Vue 根实例,也包括其组件树中的所有子组件的模板中。
  到目前为止,关于组件注册你需要了解的就这些了,如果你阅读完本页内容并掌握了它的内容,我们会推荐你再回来把组件注册读完。

思考一下,如果是多个属性传入组件呢?

比如:

 new Vue({el: '#blog-post-demo',data: {posts: [{ id: 1, title: 'My journey with Vue' },{ id: 2, title: 'Blogging with Vue' },{ id: 3, title: 'Why Vue is so fun' }]}})

这个时候怎么动态绑定呢?

   <blog-postv-for="post in posts"v-bind:key="post.id"v-bind:title="post.title"></blog-post>

  如上所示,你会发现我们可以使用 v-bind 来动态传递 prop。这在你一开始不清楚要渲染的具体内容,比如从一个 API 获取博文列表的时候,是非常有用的。

  到目前为止,关于 prop 你需要了解的大概就这些了,如果你阅读完本页内容并掌握了它的内容,我们会推荐你再回来把 prop 读完。

vue学习笔记-03-浅谈组件-概念,入门,如何用props给组件传值?相关推荐

  1. 转 Android开发学习笔记:浅谈WebView

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 ...

  2. android 自定义菜单开发,Android开发学习笔记:浅谈3大类菜单

    在Android系统中,菜单可以分为三类:选项菜单(Option Menu),上下文菜单(Context Menu)以及子菜单(Sub Menu). 一.选项菜单(Option Menu) 创建选项菜 ...

  3. Android开发学习笔记:浅谈Content Provider

    一.Content Provider的概念介绍 Content Providers是所有应用程序之间数据存储和检索的桥梁,它使得各个应用程序之间实现数据共享.是应用程序间共享数据的唯一途径.Conte ...

  4. Docker学习笔记之浅谈虚拟化和容器技术

    0x00 概述 相信所有对 Docker 有所耳闻的朋友都知道,它是一款以容器虚拟化技术为基础的软件,因此在了解有关 Docker 的概念知识和使用方法之前,虚拟化和容器技术是我们不可或缺的基础知识. ...

  5. Android开发学习笔记:浅谈ToggleButton

    ToggleButton(开关按钮)是Android系统中比较简单的一个组件,是一个具有选中和未选择状态双状态的按钮,并且需要为不同的状态设置不同的显示文本. ToggleButton常用的XML属性 ...

  6. 学习笔记:浅谈NP完全性问题

    迄今为止,我们所研究的所有算法几乎都是多项式时间的算法:对于规模为n的输入,在最坏情况下的运行时间是O(n^k),其中k为某一确定的常数. 如果一个判定问题的复杂度是该问题的一个实例的规模n的多项式函 ...

  7. C#3.0学习笔记(8)浅谈接口interface

    1, 接口的定义? 答:接口表示一组函数成员而不实现成员的引用类型,类和结构可以实现接口. 2, 接口的意义及为什么要使用接口? 要理解接口的意义以及为什么它是有用的,让我们先来看看下面的代码,它接受 ...

  8. 【学习笔记】浅谈短小可爱的左偏树(可并堆)

    文章目录 左偏树 左偏树的合并(merge)操作 例题 罗马游戏 [Apio2012]dispatching [JLOI2015]城池攻占 [Baltic2004]sequence 左偏树 左偏树是一 ...

  9. 【学习笔记】浅谈广义矩阵乘法——动态DP

    文章目录 广义矩阵乘法 动态DP 例题:洛谷4719 以下内容是本人做题经验,如有雷同,纯属抄袭:如有不对,纯属不懂,还请指正 广义矩阵乘法 众所周知,矩阵满足乘法交换律,前一个矩阵的列必须是后一个矩 ...

  10. 【学习笔记】浅谈闵可夫斯基和

    学这东西主要是 这道题 要用 233 定义:给定两个凸包AAA,BBB,定义C={a+b∣a∈A,b∈B}C=\{a+b|a\in A,b\in B\}C={a+b∣a∈A,b∈B} ,其中aaa,b ...

最新文章

  1. GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
  2. JS中有两种自加法操作
  3. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程
  4. 【基础】哥德巴赫猜想
  5. 用pv操作描述如下前驱图_LinkedList实现分析(二)——常用操作
  6. 【EWM系列】SAP EWM WCU和Non-SAP系统接口
  7. (二)golang数组和切片
  8. Java基础学习总结(120)——JVM 参数使用详细说明
  9. ylbtech-dbs-m-YinTai(银泰网)
  10. 数据结构_C语言_实验一_线性结构 ——一元多项式求导
  11. 万能倍投计算器工具_一周总结上证A股市盈率14.83倍,这是机会还是风险呢?
  12. open in browser
  13. java中用socket实现简单的单工通信
  14. 巴菲特佛罗里达州立大学演讲
  15. 测试的阿萨德萨达阿萨德
  16. 正点原子 fac_us=SystemCoreClock/8000000
  17. Build Metal-based Core Image kernels with Xcode
  18. 【华为OD机试】1038 - 学英语
  19. 性别计算机英语怎么说,性别教育用英语怎么说?
  20. 【水文模型】04 参数识别与敏感性分析方法

热门文章

  1. LeetCode 808. 分汤(动态规划)
  2. 01.神经网络和深度学习 W1.深度学习概论
  3. POJ 3461 字符串匹配(KMP / 哈希(有推导))
  4. linux shell 输出日期格式,Linux下Shell日期的格式
  5. java操作redis的操作_Java操作redis简单示例
  6. hystrix 页面_微服务 | 使用Hystrix实现Spring Cloud的熔断机制
  7. lcd液晶字体_等离子电视与液晶电视的区别
  8. ACL20 Best Paper揭晓!NLP模型评价体系或将迎来重大转折
  9. 硬核推导Google AdaFactor:一个省显存的宝藏优化器
  10. CCKS 2018 | 前沿技术讲习班