模拟单击或手动设置模型属性?

时间:2012-06-20 14:43:24

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

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

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

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

CODE: 图

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

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

我对默认图表的程序化重新创建

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

OR

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

1 个答案:

答案 0 :(得分:0)

没关系。 click方式简短而且甜美。所以,如果视图不会改变(我知道你不能肯定地说),那么click方式就可以了。否则,你可能想要采用后一种方式。