vue中vue.set有几个参数

vue中vue.set有3个参数,分别是:1、target,表示要更改的数据源;2、key,表示要更改的具体数据;3、value,表示重新赋的值。

vue中vue.set有几个参数

本文操作环境:windows10系统、vue2.9,Dell G3电脑。

Vue.set()

Vue.set( target, key, value )

登录后复制

参数:

target:要更改的数据源(可以是对象或者数组)

立即学习“前端免费学习笔记(深入)”;

key:要更改的具体数据

value :重新赋的值

官方API:Vue.set()

Vue.set的使用

nbsp;html>        
    

        {{item.message}}    

    
        
var vm2=new Vue({ el:"#app2", data:{ items:[ {message:"Test one",id:"1"}, {message:"Test two",id:"2"}, {message:"Test three",id:"3"} ] }, methods:{ btn2Click:function(){ Vue.set(this.items,0,{message:"Change Test",id:'10'}) }, btn3Click:function(){ var itemLen=this.items.length; Vue.set(this.items,itemLen,{message:"Test add attr",id:itemLen}); } }});

登录后复制

此时页面是这样

c36f85dd34179c0a95d18953b8c86b7.png

我点击第一个按钮后运行methods中的btn2Clcick方法,此时我要将Test one更改为Change Test

04b1c3e19ad4a0706fe1d062e2d832a.png

运行后的结果:此时列表中第一列的Test one已经变成了Change Test

a16421d761b20b9b0e3e060dd71f734.png

这里得警惕一种情况:

当写惯了JS之后,有可能我会想改数组中某个下标的中的数据我直接this.items[XX]就改了,如:

btn2Click:function(){  this.items[0]={message:"Change Test",id:'10'}}

登录后复制

我们来看看结果:

7138104ac80a72206d5c31b6cf0050a.png

这种情况,是Vue文档中明确指出的注意事项,由于 JavaScript 的限制,Vue 不能检测出数据的改变,所以当我们需要动态改变数据的时候,Vue.set()完全可以满足我们的需求。

仔细看的同学会问了,这不是还有一个按钮吗,有什么用?

我们还是直接看:

846a6c20c276e2eb6c4b99869e8662f.png

这是初始的列表数据,数据里面有三个对象

点击之后:

9c5e07f214036bd56d97e5871c56491.png

这里可以看出,Vue.set()不光能修改数据,还能添加数据,弥补了Vue数组变异方法的不足

Tip:Vue.set()在methods中也可以写成this.$set()

推荐:《vue教程》

以上就是vue中vue.set有几个参数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3021169.html

(0)
上一篇 2025年3月13日 05:43:25
下一篇 2025年3月7日 13:11:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ant design支持vue吗

    ant design支持vue,因为ant design有vue版本的,对应的名称为“ant-design-vue”;在vue项目中可以使用“npm i –save ant-design-vue”命令进行安装,然后使用即可。 推…

    2025年3月13日
    000
  • vue.nexttick是什么

    vue.nexttick是一个获取更新后DOM的Vue方法;nextTick方法是将回调函数延迟在下一次dom更新数据后调用,也就是当数据更新了,然后在dom中渲染后,就会自动执行nextTick函数。 本教程操作环境:windows10系…

    2025年3月13日
    200
  • 怎么安装vue-cli

    安装方法:1、安装node和npm;2、安装cnpm;3、在目标文件夹下打开终端;4、使用“cnpm install vue-cli -g”命令全局安装vue-cli即可。 本教程操作环境:windows7系统、vue2.9版,该方法适用于…

    2025年3月13日 编程技术
    200
  • 在vue中怎么使用layui

    在vue中使用layui的方法:首先把layui对应的包放在static文件夹下;然后在【index.html】中直接引入【layui.js】和【layui.css】;最后在vue组件中的created勾子函数中写入相关代码。 本教程操作环…

    2025年3月13日 编程技术
    200
  • vue中如何分离css

    vue中分离css的方法:首先在vue文件中设置“”;然后新建index.js文件;最后建立相对应的html、js和css文件即可。 本教程操作环境:windows7系统、Vue2.9.6版,该方法适用于所有品牌电脑。 相关文章推荐:vue…

    2025年3月13日
    200
  • .vue文件乱码怎么解决

    vue文件乱码的解决办法:1、设置使用utf8格式打开和保存文件;2、依次打开“文件->首选项->设置”,然后搜索“encode”并设置“utf-8”即可。 本教程操作环境:windows7系统、vue2.0&&…

    2025年3月13日
    200
  • 如何解决vue $index报错问题

    vue $index报错是因为vue已经移除了原来的$index和$key用法,变成了index和key,其解决办法就是修改$index和$key为index和key即可。 本教程操作环境:windows7系统、Vue.js v2.5.16…

    2025年3月13日
    200
  • vue使用import()提示语法错误怎么办

    vue使用import()提示语法错误的解决办法:首先在package json的【”devDependencies”】下增加【”babel-plugin-syntax-dynamic…】;然…

    2025年3月13日 编程技术
    200
  • 单独引入vue.js文件怎么写组件

    单独引入vue.js文件写组件的方法:首先引入vue.js文件;然后使用“Vue.component”方法创建一个card组件;最后使父页面调用该组件即可。 本教程操作环境:windows7系统、vue2.5.17版本,Dell G3电脑。…

    2025年3月13日
    200
  • 如何解决vue $refs报错问题

    vue $refs报错的解决办法:1、打开相应的代码文件,然后加上“this.$nextTick();”;2、在mounted()钩子函数中调用即可。 本教程操作环境:windows7系统、vue2.5.17版,DELL G3电脑。 【相关…

    2025年3月13日
    200

发表回复

登录后才能评论