<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../../vue.js"></script>
</head>
<body>
<!-- 为什么在Vue.component({})中使用data必须是函数?
在JS中,产生一个对象是通过构造函数来产生的
并且通过构造函数产生的对象都是新的对象
在实例化组件中,data每次调用组件都是产生一个新的组件
Vue.component('vue-div',{
template:'#vue-div',
data(){
return{ //这里每次调用组件都会产生一个新的组件
message:'西门吹雪'
}
}
})
-->
<div id="app">
<!--添加多个,每个都是独立的,不受其它影响-->
<!--验证counter没有被共享-->
<!--所以data()必须以一个函数的形式返回出来-->
<my-btn></my-btn>
<my-btn></my-btn>
<my-btn></my-btn>
<my-btn></my-btn>
</div>
<!-- .注册一个组件-->
<template id="my_btn">
<button @click="counter += 1">点击的次数{{counter}}</button>
</template> </body>
<script>
//如果data是一个对象,那么所有的将会被共享,
// 无论产生多少个组件,都是对应一样的值
//这就是data必须是函数的原因
// let data = {
// counter:0
// };
// data(){
// return data;
// } //2.实例化组件
Vue.component('my-btn',{
template:'#my_btn',
data(){
return{
counter: //通过组件构造器产生出来的组件都是单独的,里面的这个counter不能共享,因为都是通过data函数来一个一个产生的,
}
}
}) var vm = new Vue({
el:'#app',
data:{}
})
</script>
</html>

vue-为什么子组件中的data选项必须是函数?的更多相关文章

  1. Vue系列之 => 组件中的data和methods

    使用data <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. vue 父组件使用子组件中的data或methods

    1.调用子组件的时候 定义一个ref 2.在父组件里面通过 this.$refs.verify.属性 this.$refs.verify.方法

  3. Vue父组件向子组件传值以及data和props的区别

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xukongjing1/article/ ...

  4. VUe.js 父组件向子组件中传值及方法

    父组件向子组件中传值 1.  Vue实例可以看做是大的组件,那么在其内部定义的私有组件与这个实例之间就出现了父子组件的对应关系. 2. 父子组件在默认的情况下,子组件是无妨访问到父组件中的数据的,所以 ...

  5. 第六章 组件 63 组件传值-父组件向子组件传值和data与props的区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Vue之vue中的data为什么是一个函数+vue中路径别名alias设置

    问题描述 为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性. 原因 因为我们能抽离出来的组件,肯定是具有复用性的,它 ...

  7. 039——VUE中组件之子组件中data使用实例与text-xtemplate的使用方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. vue.js 1中父组件跳到子组件中并传参让子组件显示不同的内容

    父组件中的点击跳转: <ul class="insurance-entry clearfloat"> <li v-link="{name:'produc ...

  9. vue 中 echart 在子组件中只显示一次的问题

    问题描述 一次项目开发过程中,需要做一些图表,用的是百度开源的 echarts. vue推荐组件化开发,所以就把每个图表封装成子组件,然后在需要用到该图表的父组件中直接使用. 实际开发中,数据肯定都是 ...

随机推荐

  1. Form与ModelForm中的插件使用

    一.Form插件的使用 (一)widget参数 from .models import * from django import forms from django.forms import widg ...

  2. js实现点击按钮控制展开与收起.

    html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...

  3. appium1.4+华为8.0执行自动化脚本,报启动session失败,原因是unicode_ime_apk\Uni codeIME-debug.apk在手机上已存在,再次安装失败,导致启动session失败,解决办法:换高版本的appium

    最开始做Android自动化测试时,通过执行脚本发现报,已安装UnicodeIME-debug.apk,再次安装失败,当时觉得这个apk对我来说没用,就把D:\Program Files (x86)\ ...

  4. java格式化时间 String 转Date Date转String

    ---恢复内容开始--- 时间格式化 Date类型转换成String: Date date = new Date();SimpleDateFormat sdf = new SimpleDateForm ...

  5. javascript基本类型及类型转换

    每种语言都有自己的基本类型,javascript也不例外.在javascript中有五大基本类型,分别是number,string,boolean,null,undefined.其他不属于这五种基本类 ...

  6. c#开发应避免的几个小滥用

    一 String和StringBuilder              少量的字符串操作不宜采用StringBuilder.      由于string是不可变得对象,对于string的叠加,每次操作 ...

  7. Yii2 Composer

    首先你必须得在本机配置token账号,里边涉及到一些git的用法,git的托管等等,具体方法如下: http://www.cnblogs.com/fnng/archive/2011/08/25/215 ...

  8. 「AHOI / HNOI2018」转盘 解题报告

    「AHOI / HNOI2018」转盘 可能是我语文水平不太行... 首先可以猜到一些事实,这个策略一定可以被一个式子表示出来,不然带修修改个锤子. 然后我们发现,可以枚举起点,然后直接往前走,如果要 ...

  9. 冲刺$\mathfrak{CSP-S}$集训模拟赛总结

    开坑.手懒并不想继续一场考试一篇文. 既没必要也没时间侧边栏的最新随笔题解反思相间也丑 而且最近越来越懒了竟然都不写题解了……开坑也是为了督促自己写题解. 并不想长篇大论.简要题解也得写啊QAQ. 目 ...

  10. java在acm中常用基础技巧方法

    java在acm中常用基础技巧方法 如果学到了新的技巧,本博客会更新~ input input-std @Frosero import java.util.*; public class Main { ...