Vue的data值必须是函数返回

vuebytesizeicons将SVG图标作为Vue功能组件 vue-bytesize-icons 将SVG图标作为Vue功能组件 立即下载

data值必须要是函数返回,这样才能使组件在多次调用的时候 改变其中的data其他的不受到影响

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>返回data必须是函数</title>
    <!--引入vue -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>

<div id="app">
    <psd></psd>
    <psd></psd>
    <psd></psd>
    <psd></psd>
</div>

<template id="myTem">
    <div>
        <button @click="counter ++">data值互不影响 : {{counter}}</button>
    </div>
</template>

<script>
    let Pro = Vue.extend({
        template: "#myTem",
        data(){
            return {
                counter : 0
            }
        }
    });

    Vue.component('psd', Pro);

    new Vue({
        el: "#app",
    })


</script>
</body>
</html>

 

如果data是一个对象的话 ,那么调用组件中的data是唯一的,受到改变会相互影响

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>返回data必须是函数</title>
    <!--引入vue -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>

<div id="app">
    <psd></psd>
    <psd></psd>
    <psd></psd>
    <psd></psd>
</div>

<template id="myTem">
    <div>
        <button @click="counter ++">data值互不影响 : {{counter}}</button>
    </div>
</template>

<script>

    var data = {
        counter : 0
    }

    let Pro = Vue.extend({
        template: "#myTem",
        data(){
            return data
        }
    });

    Vue.component('psd', Pro);

    new Vue({
        el: "#app",
    })


</script>
</body>
</html>

 

Vue利用Blob下载原生二进制数组文件 本文实例为大家分享了Vue利用Blob下载原生二进制数组文件的具体代码,供大家参考,具体内容如下 在服务端推送过来的二进制数组(JSON格式),在前端要处理成JS原生数组以后才能做成Blob,有两个地方要注意(详细注释),代码如下: Vue.prototype.$downloadFile = (filename, data) => { if (!data) return; let arr8 = Uint8Array.from(data); //!!!注意1:应根据数据的类型选择适当的JS原生数组类型进行转换,也就是说服务端推送的byte型数组还是int型数组等。 //定义文件内容,类型 立即下载

相关推荐

基于Xilinx_IBERT的光纤接口眼图测试

基于Xilinx_IBERT的光纤接口眼图测试

Coca_Tian的博客 1万+

Vue笔记基础

​ 概念:一款渐进式 JavaScript 框架、所谓渐进式就是逐步实现新特性的意思、如实现模块化开发、路由、状态管理新特性。其特点是综合了Angular(模块化)和 React (虚拟DOM)的优点​ 注:Vue处理DOM、Axios处理前端通信框架、类似于AJAX与服务器进行交互、也可使用原生的jQuery的ajax进行通信。异步通信为主、Model、View、ViewModel​ 基于NodesJs,实际开发采用 vue-cli 脚手架,vue-router 路由(页面跳转),vuex做状态管理(类

小邹的博客 3161

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 343

20171103每日一练

一、 Java 编程题 打印出如下图案(菱形)    *   ***  ***** *******  *****   ***    * int x; int j, k = 4; for (j = 1; j for (x = 1; x System.out.print(" "); for (x = 1; x System.out.print("*"); Syst

qq_40742692的博客 476

STM32MP157+AD7606BSTZ四通道IEPE传感器采集方案实战(附完整电路图)

本文详细介绍了基于STM32MP157和AD7606BSTZ的四通道IEPE传感器采集方案,涵盖硬件电路设计、软件驱动开发及系统性能优化。通过精确的恒流源设计和同步采样技术,实现高精度振动信号采集,适用于工业振动监测等应用场景。

weixin_42713608的博客 702

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1486

vue学习笔记—可复用技术

可复用组件可以在一个应用中多次使用,了解一下vue中的可复用组件。 一、混入(mixin) 混入,分发Vue组件中的可复用功能,一个复用对象可以包含任意组件选项,以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。 首先了解一下混入规则: 1.数据模型中的数据,会进行递归合并,出现同名属性,以组件中的数据为准 2.同名的构造函数会合并成数组,其中的函数都会调用,混入的钩子执行在前,组件的钩子执行在后 3.内部对象的合并,类似于components、methods回合并为一个对象,发

m0_48180834的博客 549

Java使用easyExcel生成excel文件直接写入邮件附件并发送

1.引入pom依赖 <!-- email --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <!-- easyexcel需要依赖poi jar包 --> <depe

weixin_50493320的博客 3909

vue - data必须是函数返回的对象

为什么对象、数组 需要以一个function 返回 data也是 因为对象、数组都是引用型数据类型。当多个组件new实例的话,就会直接引用同一个data的对象的数据,一个组件数据修改,另一个就会跟着修改。 当data是一个function返回的,就是每一个data都是不一样的存放地址。 官网的解释: 当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创..

alpha_xu_vvvvv的博客 1631

Ansys HFSS 中的同轴电缆仿真

准确模拟它们的行为对于确保 RF 系统的最佳性能至关重要。在本博客中,我们将介绍在 HFSS 中设置同轴电缆仿真并绘制插入损耗、回波损耗和电场分布的过程。将波端口分配给同轴线的两端以激励模型,并定义了从 1 GHz 到 20 GHz 的频率扫描以评估其宽带性能。铜分配给内部导体,铝分配给外部导体。介电区域使用 PTFE 定义,其相对介电常数为 2.1,损耗角正切为 0.00022。仿真完成后,结果用于绘制整个频率范围内的回波损耗和插入损耗。此外,电介质内的电场分布也被绘制和动画化。

jkh920184196的博客 1907

WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)

下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。

weixin_43750300的博客 3859

var变量名当作key,传给后台

首先很开心,你能看到我写的这个博客,希望以下能帮到你。网上有很多的demo,都写很很含糊,以下是我用到的。。1,意思就是说,通过ajax传给后台的key,不能写死,一般咱们写ajax的data的时候都是后台告诉我们,给我传个1,key是某某,        比如data:{key:value},这里面的key一定是后台有的,比如:后台说我要张三的名字,这个张三就是key,相信大家都能理解2,我现在...

无缺的博客 1495

ChatGPT搭配Claude 4写文献综述效果出奇的好!四步法直接写出逻辑清晰、层次分明的文献综述(附复制即用专业提示词)

请梳理【研究领域】中核心理论的发展演进过程,包括每一阶段理论的核心观点、提出背景与推动力,并指出理论演化中的关键节点或范式转变。请根据以下文献摘要内容,帮助我梳理该主题的研究趋势,包括:常见研究视角、研究方法的演变、研究对象的变化方向等。请根据以下研究空白与我已有的研究基础,帮我生成一个清晰的研究定位,包括:研究主题、研究对象、方法路径和理论框架。先要明确这个研究领域中一个主导或热门的理论,比如社会支持理论、认知负荷理论等,强调这个理论内部的不一致性、适用性争议,通过交代这⼀争议的背景,引发读者兴趣。

智能AI让学术科研更容易 568

解决vue axios get 请求的数据,不能完美显示在页面上的错误。

报错如下:The "data" option should be a function that returns a per-instance value in component definitions 本人话不多,上图:此图为报错图 报错详情 我就喜欢有问题的代码!来看问题吧,其实问题出在这里: 修改为: import Vue from 'vue' export de...

qq_38596727的博客 2929

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

vue中vue.runtime.esm.js?2b0e:619 [Vue warn]: data functions should return an object:报错原因

错误如图所示: 修改方法:在ContentBar.vue文件中的data写上return返回值。 必须写return的原因: 在简单的vue实例中看到的Vue实例中data属性是如下方式展示的: 在使用组件化的项目中使用的是如下形式: vue的文件data中不写return{ }返回值的话,包裹的数据会在项目的全局可见,会造成变量污染。 使用return后数据中变量只...

优快云_Alisa的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vue中data定义对象类型直接报错,定义的属性不可用

当data定义为对象类型时,直接会抛错,内部定义的属性也不可用 export default { name: "App", data:{ titlebar:"首页", } } [Vue warn]: The "data" option should be a function that returns a per-instance value in component definitions. [Vue warn]: Property or method "titlebar" i

陌上花开然不归矣 2185

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

The "data" option should be a function that returns a per-instance value in component definitions

Vue 中 data 使用对象形式报错 报错信息:The "data" option should be a function that returns a per-instance value in component definitions export default { name: 'app', data:{ name: '' } } ...

Jackie Huang 6761

VUE中组件data必须是函数function的原因

vue组件中data值不能为对象,因为对象是引用类型,组件可能会被多个实例同时引用。如果data值为对象,将导致多个实例共享一个对象,其中一个组件改变data属性值,其它实例也会受到影响。 上面解释了data不能为对象的原因,这里我们简单说下data为函数的原因。data为函数,通过return 返回对象的拷贝,致使每个实例都有自己独立的对象,实例之间可以互不影响的改变data属性值。 dat...

alokka的博客 1095

vue 判断是否function_javascript - Vue.js的data是要一个对象还是一个function?

问 题刚开始学Vue.js,写了个demo,提示:The "data" option should be a function that returns a per-instance value in component definitions.但是我看文档里出现的data都是一个对象,比如:var vm = new Vue({data: {a: 1},created: function () {...

weixin_39557813的博客 596

Vue3基础02:data函数

data函数

码砖师傅的博客 2825

Vue组件的data为什么必须是function,2024年最新项目实战

);警告:可以看到当我们直接在组件中定义data为对象时,会有警告说组件中的data应该是一个返回每个即时值的function函数,也就是说每个组件中的data都必须是一个函数,并且返回的值必须是即时生成的,而不是引用外部的。data定义为函数,但是引用外部数据会有什么问题。

2401_88992214的博客 388

vue17-子组件定义data属性

看下面代码: &lt;!DOCTYPE html&gt; &lt;html lang=en&gt; &lt;head&gt; &lt;meta charset="utf-8"/&gt; &lt;title&gt;Hello world&lt;/title&gt; &lt;script src="vue.js&quot

徐海兴的专栏 2402

vue使用this.$options.data() 无法获取初始值

因为对象是引用类型,this.$options.data()返回的值和this.$data 都指向 data 的引用地址 所以当你改变this.data的时候,这两个值都会改变。this.$options.data()返回的值和this.$data 都指向不同的地址。这个时候改变this.data时 this.$options.data()返回值就不会改变。如题,在使用this.$options.data()时,若data值改变,this.$options.data()值也会随之改变。

weixin_42574985的博客 635

在Vue.data已定义的变量,运行时却找不到变量

Property or method "xxx" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property The "data" option should be a function

qq_41900846的博客 2900

VUE自定义组件data引用方式的理解

自定义组件 在学习vue自定义组件时,对比定义全局vue和自定义组件时,关于data值产生疑惑: 为什么自定义组件在利用时,data变量引用方式为函数引用 Vue.component("this",{ template:'#info', methods:{ add(){this.number++} }, data:function(){

qq_44880532的博客 4128

vue组件的data为什么是一个函数

在官方文档说明vue组件的data必须是一个函数,其实是不难理解的,因为组件就像一个工具包,都是可以复用的,返回一个函数的目的就是为了每次注册组件的时候返回一个独立的data对象,如果不返回一个函数,多个地方用同一个组件的时候,他们就会公用一个data,看下面的示例,虽然data是一个函数,但是函数返回的是同一个对象,这个时候我三个地方使用计数器,count值就互相影响了,这种写法和data{count:0}(非函数)写法效果一样 <!DOCTYPE html> <html lang=

soputasmile的笔记 216
上一篇: webSocket即时通信
下一篇: input File 选择图片后 预览
Byte_Dance
博客等级 码龄9年 32粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值