首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VueJS是否在其方法属性下对函数声明格式进行了区分?

VueJS是否在其方法属性下对函数声明格式进行了区分?
EN

Stack Overflow用户
提问于 2019-08-21 12:17:30
回答 3查看 103关注 0票数 0

我们的团队正在开发一个VueJS项目,我注意到一些方法函数是这样声明的:

代码语言:javascript
运行
AI代码解释
复制
methods: {
    doSomething: function () {
        //do it here...
    }
}

而其他的格式是:

代码语言:javascript
运行
AI代码解释
复制
methods: {
    doSomething() {
        //do it here...
    }
}

这两种格式都工作得很好,如果我没记错javascript的话,第二种方法只是javascript中函数声明的简写。

但是VueJS是否对这两种格式进行了区分?声明VueJS方法的最佳/首选方式是什么?对于VueJS计算函数,它的格式是否必须与方法函数相同?

EN

回答 3

Stack Overflow用户

发布于 2019-08-21 12:24:24

这和Vue无关。

从ECMAScript 2015开始,为对象初始值设定项上的方法定义引入了更短的语法。它是分配给方法名称的函数的简写。

给定以下代码:

代码语言:javascript
运行
AI代码解释
复制
var obj = {
  foo: function() {
    /* code */
  },
  bar: function() {
    /* code */
  }
};

现在,您可以将其缩短为:

代码语言:javascript
运行
AI代码解释
复制
var obj = {
  foo() {
    /* code */
  },
  bar() {
    /* code */
  }
};

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions

票数 1
EN

Stack Overflow用户

发布于 2019-08-21 12:23:30

还有一种方法可以声明方法

代码语言:javascript
运行
AI代码解释
复制
methods: {
    doSomething: () => {
        //do it here...
    }
}

实际上,你的声明方式是一样的,你是对的--你可以以同样的方式使用这两种方式。

但请记住,如果您需要在方法(this)内访问组件的实例-箭头函数不允许您这样做。

代码语言:javascript
运行
AI代码解释
复制
methods: {
    doSomething: () => {
        console.log(this) // undefined
    }
}

在这种情况下,你几乎总是要这样使用:

代码语言:javascript
运行
AI代码解释
复制
methods: {
    doSomething() {
        console.log(this) // insance
    }
}
票数 0
EN

Stack Overflow用户

发布于 2019-08-21 12:58:14

这两个都是对象,它们可以以任何方式编写,这不是关于vue,它是关于js引擎,这里没有以任何方式区分两者。关于最佳实践,你应该遵循https://vuejs.org/v2/style-guide,它是一个官方的guid。某些时候,如果你的函数很小,你可以跳过

代码语言:javascript
运行
AI代码解释
复制
methods:{
  xyz(){
  }
}

并将其编写为

代码语言:javascript
运行
AI代码解释
复制
methods:{
  xyz:()=> return something;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57591462

复制
相关文章
ble属性格式、权限与声明
属性协议(ATT)有两个角色,Client和Server,ATT协议都是纯C/S架构,即Server存储属性,Client什么也不存储,Client主动发起请求读写Server端的属性,Server被动响应。但是服务端也有通知的能力,在服务端属性发生变化时,Server能够通知Client,这样避免了Client不停的Poll。
ManInRoad
2021/11/12
2.4K0
ble属性格式、权限与声明
Vuejs 计算属性
计算属性 (computed) 处理元数据,便于进行二次利用。(比如:消费税自动计算功能)
hedeqiang
2019/12/17
1.4K0
Vuejs --04 计算属性
一、使用原因      1、模板中表达式很便利,但实际上只适用于简单的运算,不适宜放入太多逻辑运算,例如: <div id="example"> {{ message.split('').reverse().join('') }} </div>      所以: 任何复杂逻辑,你都应当使用计算属性 二、使用方法 <div id="app"> 你好{{ ComMessage }} <p>{{ ComMsg() }}</p> </div> var vm = new Vue({
用户1148399
2018/01/09
8900
C++函数调用 | 对被调函数做声明
在C++中,不允许对函数做嵌套定义,也就是说在一个函数中不能完整地包含另一个函数,在一个程序中每个函数的定义都是互相平行和独立的。
小林C语言
2020/11/30
1.6K0
C++函数调用 | 对被调函数做声明
java构造函数方法声明无效_如何构造函数
Java构造函数,也叫构造方法,是JAVA中一种特殊的函数。与函数名相同,无返回值。
全栈程序员站长
2022/10/05
1.8K0
Vuejs观察属性-侦听器
与 computed 属性类似,用于观察变量的变化,然后进行相应的处理。 watch 进行实现
hedeqiang
2019/12/17
5320
重读OC属性声明
表明属性是只读,只需要提供getter函数即可。但是假如你还提供@synthesize那么只有getter方法是synthesized
大话swift
2019/10/08
7460
重读OC属性声明
函数声明[通俗易懂]
name 函数名 param 传递非函数的参数名,参数个数最多255个。 statements 构成函数体的语句。
全栈程序员站长
2022/09/20
7890
[译] 方法是否应该在 T 或 *T 上声明
友情提示:此篇文章大约需要阅读 3分钟49秒,不足之处请多指教,感谢您的阅读。 订阅本站
Meng小羽
2021/06/29
4200
XGBoost 2.0:对基于树的方法进行了重大更新
XGBoost是处理不同类型表格数据的最著名的算法,LightGBM 和Catboost也是为了修改他的缺陷而发布的。9月12日XGBoost发布了新的2.0版,本文除了介绍让XGBoost的完整历史以外,还将介绍新机制和更新。
deephub
2023/10/08
7690
XGBoost 2.0:对基于树的方法进行了重大更新
近期对网站页面进行了改版
其实很早就想做一个暗黑模式自适应了,一直没做是因为太菜了实在不会,但最近晚上关灯看自己的站实在是瞎眼睛(哭)。
jcjyxjs
2021/09/09
5010
近期对网站页面进行了改版
Spring Boot 定义接口的方法是否可以声明为 private?
估计很少有人会把接口方法定义成 private 的吧?那我们不禁要问,如果非要定义成 private 的方法,那能运行起来吗?
江南一点雨
2021/04/02
6540
vuejs中的模板/普通方法/计算属性computed与监听属性watch四者的比较
在vue中,实现同一个功能需求,可以使用普通方法,也可以使用computed属性以及watch属性,对于它们的使用,刚开始时,存在着一些困惑
itclanCoder
2022/01/25
2K0
vuejs中的模板/普通方法/计算属性computed与监听属性watch四者的比较
JavaScript 函数的属性和方法
函数的属性和方法 name 属性 函数的name属性返回函数的名字。 function f1() {} f1.name // "f1" 如果是通过变量赋值定义的函数,那么name属性返回变量名。 var f2 = function () {}; f2.name // "f2" name属性的一个用处,就是获取参数函数的名字。 var myFunc = function () {}; function test(f) { console.log(f.name); } test(myFunc) // m
RiemannHypothesis
2022/10/28
7120
使用copy声明NSString属性
声明一个NSString属性使用copy要优于使用strong。这同样适用于遵守NSCoding协议的不可变类(immutable class),如NSNumber、NSArray、NSSet等。上面提到的这些类都有一个可变(mutable)的版本。选择使用copy的理由是,NSString属性可能被传入一个NSString实例,也可能是一个NSMutableString实例。当传入了一个NSMutableString实例时,字符串的值可能会在背后悄悄变化。来瞧瞧这个例子:
Jace
2018/08/01
3820
python对url格式解析的方法
本文实例讲述了python对url格式解析的方法。分享给大家供大家参考。具体分析如下:
py3study
2020/01/09
1.2K0
关于对类别 延展 协议 一些属性声明词的用法
如果想给已经封装好的类添加方法 比如给UIButton添加一个异步下载图片的方法可以使用分类。比如我们要增加的方法需要实例变量很多 里面要用到很多的实例变量来执行逻辑 那么我们做好的选择是选择继承
君赏
2018/08/31
3910
Java多维数组声明格式
这里arr9 – arr11在等式右边都错误的在中括号中加了数组大小,导致报错; 而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错。
全栈程序员站长
2022/08/22
1.3K0
Java多维数组声明格式
函数(三)(函数的声明)
如果在程序中自定义函数时,需要将被调函数定义在主调函数后面,就需要的函数调用之前加上函数原型声明。如果在函数调用之前既无函数定义,也无函数声明,编译时会出错。
pigeon
2022/04/11
7110
点击加载更多

相似问题

在其声明内调用函数

20

方法是否在其他类可见的类别中声明?

12

在其他函数中声明函数方法的用例是什么?

23

Jest -如何测试函数是否对参数进行了更改

10

是否对“工作目录”进行了修改?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档