• VUE-组件基础


    1.基本示例

    <div id="app8">
    	<button-counter></button-counter>
    </div>
    <script>
    	Vue.component('button-counter',{
    		data:function(){
    			return{
    				count:0
    			}
    		},
    		template:'<button v-on:click="count++">你点击我{{count}} 次</button>'
    	});
    	new Vue({el:"#app8"})
    </script>
    

      

    2.组件可复用

    		<div id="app8">
    			<button-counter></button-counter>
    			<button-counter></button-counter>
    			<button-counter></button-counter>
    		</div>
    		<script>
    			Vue.component('button-counter',{
    				data:function(){
    					return{
    						count:0
    					}
    				},
    				template:'<button v-on:click="count++">你点击我{{count}} 次</button>'
    			})
    			new Vue({el:"#app8"})
    		</script>
    

    注意当点击按钮时,每个组件都会各自独立维护它的 count。因为你每用一次组件,就会有一个它的新实例被创建。  

    3.data必须是一个函数

    当我们定义这个 <button-counter> 组件时,你可能会发现它的 data 并不是像这样直接提供一个对象:

    data: {
      count: 0
    }
    

    取而代之的是,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:

    data: function () {
      return {
        count: 0
      }
    }
    

    如果 Vue 没有这条规则,点击一个按钮就可能会像如下代码一样影响到其它所有实例  

    4.通过Prop向子组件传递参数

    <div id="app8">
    	<blog-post title="My journey with Vue" name="1"></blog-post>
    	<blog-post title="Blogging with Vue" name="2"></blog-post>
    	<blog-post title="Why Vue is so fun" name="3"></blog-post>
    </div>
    <script>
    	Vue.component('blog-post',{
    		props:['title','name'],
    		template:'<h3>{{title}}<b>{{name}}</b></h3>'
    	})
    	new Vue({el:"#app8"})
    </script>

    输出:

         My journey with Vue1

         Blogging with Vue2

         Why Vue is so fun3

      

  • 相关阅读:
    分布式中间件消息队列(3).Net Core 使用rabbitmq
    Git修复已发布版本的 Bug
    Centos 部署YApi
    分布式中间件消息队列(1)概述
    【工具篇】使用concurrentHashMap实现缓存工具类
    vue 导出xlsx 封装
    wangeditor 自定义扩展
    男性早孕从软件与程序的区别说起
    数据结构复习二叉树基本操作
    数据结构复习堆栈练习程序
  • 原文地址:https://www.cnblogs.com/liuqingxia/p/13840550.html
Copyright © 2020-2023  润新知