【问题标题】:How to use ES6 exports to extend a Backbone Base View?如何使用 ES6 导出来扩展主干基础视图?
【发布时间】:2017-03-29 09:41:43
【问题描述】:

我已经使用 ES6 export default View.extend({}) 创建了一个基本主干视图 (BaseView.js),并希望使用 ES6 来扩展此视图,但在执行此操作时遇到问题 export default BaseView.extend({}) 但我得到 ExtendedView 不是构造函数?

JS

// BaseView.js
export default View.extend({});
// ExtendedView.js
export default BaseView.extend({});
// Uncaught TypeError: ExtendedView is not a constructor

【问题讨论】:

  • "export default from BaseView.extend({})" 是语法错误。您需要在from 部分中放置一个字符串文字。
  • 您究竟从哪里得到“不是构造函数”错误? ExtendedView 是什么?
  • 我可以让它工作的唯一方法是使用 module.exports = BaseView.extend({});
  • 试试new ExtendedView.default(),你可能遇到和stackoverflow.com/questions/33505992/…一样的问题

标签: javascript backbone.js ecmascript-6 es6-modules


【解决方案1】:

我正在使用“module.exports”而不是“export”来处理主干和 ES6。

module.exports = class YourView extends Backbone.View {}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 2018-09-15
    • 2013-03-07
    • 2017-05-11
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多