【问题标题】:Is the shorthand ES6 method syntax also valid ES5?简写的 ES6 方法语法是否也适用于 ES5?
【发布时间】:2019-02-06 02:48:53
【问题描述】:

这是 sn-p(来自 Vue 配置对象):

data() {
    return {
        current: ''
    };
},

我有两个完全独立的项目应该使用 Babel 进行转译,但是两个输出仍然包含上述语法。 Webpack 和 Babel 远高于我的薪酬等级,还是我弄错了什么是有效的 ES5?。

其中一个项目是这个问题的主题,Webpack: Why does vue-loader not transpile?,另一个是使用 vue-cli 的全新安装。

更新:

这是我在输出中所期望的语法。

data : function () { 
    return {}; 
}

更新 2:

这个来自 MDN 的链接似乎很清楚它只是 ES6,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions

【问题讨论】:

  • 你期待什么语法?
  • 好点@EdmundReed。请参阅上面的更新。
  • @KimPrince 随意回答您自己的问题。其他有相同问题的人可能会发现您的回答很有用。
  • 您的代码由于某种原因没有被转译。但是您上面的预期语法也不正确。一旦被 bable 转译,它将是 data: function data() {...
  • 在此,您可以阅读正确的标记,这是您在翻译后所期望的:vuejs.org/v2/guide/components.html#components-demo。如果要缩短,可以使用:data: ()=> ({ current: '' })

标签: vue.js webpack vue-cli vue-loader


【解决方案1】:

您的语法是有效的 ES5 和 ES6。在你的组件配置中,data是配置对象的key,所以正确的格式是:

data: function(){
  return {
    some_key: some_value
  }
}

在 ES6 语法中你可以这样写:

data: ()=>{ return { some_key: some_value}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2017-03-19
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 2019-10-23
    相关资源
    最近更新 更多