【问题标题】:Simulate click or manually set model attributes?模拟点击还是手动设置模型属性?
【发布时间】:2012-06-20 14:43:23
【问题描述】:

我有一个 Backbone.js 应用程序,它允许用户基于大型数据集创建图表。有几个选项提供给用户以允许图形定制。用户可以单击的一些选项在模型上设置多个属性。

有时我们必须通过从其他应用程序加载或导入图形来以编程方式创建其中一些图形。我不确定是触发点击事件来设置这些属性还是直接设置模型属性。一方面,触发点击事件是 DRY,但我不确定这是否有效/可读或违反 MVC。

模拟点击以设置模型属性是不好的做法吗?还是应该手动设置模型的属性?

代码: 查看

...
events: {
  "click .defaultGraph": "setDefaultGraph"
}

, setDefaultGraph: function () {
      this.model.set({
        "type": "bar"
        , "otherAttribute": "foo"
        , "anotherAttribute": "baz"
      });
    }
...

我对默认图表的编程重构

this.$(".defaultGraph").click();

this.model.set({
  "type": "bar"
  , "otherAttribute": "foo"
  , "anotherAttribute": "baz"
});

【问题讨论】:

  • 还有第三种选择:手动拨打setDefaultGraph

标签: javascript model-view-controller backbone.js backbone-events


【解决方案1】:

没关系。 click 方式简短而甜蜜。所以,如果视图不会改变(我知道你不能肯定地说),那么click 方式很好。否则,您可能想选择后一种方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 2018-12-06
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多