spmjs / spm

Brand new static package manager.
http://spmjs.io
Other
903 stars 179 forks source link

ES6 的构造函数中 super 必须放在第一行 ? #1405

Open honger05 opened 8 years ago

honger05 commented 8 years ago

缘由: 用 spm 配置 "babel": {} 来使用 es6 语法开发。 super 不放在 constructor 第一行报错。

ES6 强制规定了 super 必须在 constructor 的第一行? 我只知道 Java 是这样规定的

还是 babel 做的约定 ?

在 Backbone.View 的事件代理 delegateEvents 中,

只有 super 写在 events = {} 之后,才能成功代理事件。

constructor() {

   this.events = {
       'click #a': 'doA'
   };

   super();
}
wuguanghai45 commented 8 years ago

ES6 语法 this 要在super 之后

honger05 commented 8 years ago

我现在是这样做的

constructor() {

   // 防止 spm server 的时候报错
   super();

   this.events = {
       'click #a': 'doA'
   };

   // 完成事件绑定功能
   super();
}