gpt4 book ai didi

javascript - 如何组织公共(public)代码

转载 作者:行者123 更新时间:2023-11-29 16:23:22 26 4
gpt4 key购买 nike

刚开始使用 backbone.js,我注意到的一件事是我的许多模型、集合和 View 共享一些非常相似的方法。我想重构它们并从提取的位置 (/lib?) 调用它们。我去搜索文档和/或示例,但对我发现的内容如此之少(具体来说,没有)感到惊讶。那么,有几个问题:

  • 为什么我忽略了为什么很少有主干方法的例子被分解到公共(public)库中?
  • Backbone 项目中是否有共享代码的标准/商定位置?
  • 是否有主干类和/或通用插件来帮助存储通用方法?

任何想法表示赞赏 - 提前致谢。

(编辑)示例添加:

从 View 中获取此代码。 (不可否认,它太短了,实际上值得重构,但它的简单性使其成为一个简洁的例子)

  destroy: () ->
@model.destroy()
@remove()
return false

假设我想将其重构为:

  destroy: () ->
restful_destroy_method(this)

然后调用:

 restful_destroy_method: (view) ->
view.model.destroy()
view.remove()
return false

来自公共(public)图书馆。似乎没有其他人这样做的原因是什么?

最佳答案

看情况,看你的常用代码是什么。

对于您的示例,我可能会创建一个更具体的 View 以进行扩展。

为直接的 JavaScript 道歉,我对 CoffeeScript 不是很流利,无法在答案中使用它。

DestroyableView = Backbone.View.extend({
destroy: function () {
this.model.destroy();
this.remove();
return false;
}
});

然后,我不会创建 new Backbone.View(),而是创建 new DestroyableView()DestroyableView 可以有其他常用函数,或者您可以创建多个不同的父定义并使用 _.extend()将它们全部应用于单个对象。

关于javascript - 如何组织公共(public)代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681166/

26 4 0
文章推荐: android - 在/res/values/strings.xml 中编辑字符串数组
文章推荐: javascript - 如何在 knex 中添加两个绑定(bind)参数?
文章推荐: Android Twitter 应用程序 - 无用
文章推荐: javascript - 使用 JS 和 PHP 将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com