为了账号安全,请及时绑定邮箱和手机立即绑定

vuejs data里面的变量不能作为参数传递给函数吗?

vuejs data里面的变量不能作为参数传递给函数吗?

慕妹3146593 2018-07-22 09:34:34
我有一个通用的函数func, 用来改变data里面的变量的值, 但是data里面的变量无法当作参数传递给函数吗?<template>     <div>         <button @click="click1">btn1</button>         <button @click="click2">btn2</button>     </div></template><script>import card1 from ***import card2 from *** data () {    return {         card1,         card2     }   },method: {          click1 () {        this.func(this.card1)     }          click2 () {        this.func(this.card2)     }         // 通用函数     func (card) {         card = '***'     } }</script>
查看完整描述

2 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

可以的,但是原始类型的数据只是值传递,你在func里面改变card,只是改变形参card,并不是改变组件变量,可以做如下修改

func (str) {
    this[str] = '***'}

this.func('card1')


查看完整回答
1 反对 回复 2018-07-22
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

func (card) {
    card = '***'}

这里的 card = '***' 只是让 card 变量的值改变,并不会让 this.func(this.card1) 中的参数的值发生改变。

除了下面这种情况:

func (card) {
    card.someField = '***' // 这会在 this.func(this.card1) 时使得 card1.someFiled 的值被改变}

具体区别请查阅 "值、引用" 相关文章。

查看完整回答
反对 回复 2018-07-22
  • 2 回答
  • 1 关注
  • 4746 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信