Backbone JS Models:隐藏下拉列表

时间:2017-08-08 02:55:01

标签: javascript backbone.js

如果这是一个愚蠢的问题,请原谅。我试图隐藏基于Backbone模型中属性值的下拉列表

var MyModel = Backbone.Model.extend({
   initialize: function(options) {
   // I have access to this.attributes here
   if(options.name == 'Test') {
    // hide the subject dropdown

   }
}
}); 

我试图隐藏下拉列表但是想找出想法来找出正确的方法来做到这一点?由于下拉菜单是Backbone形式,我想知道我是否可以将类型设置为“隐藏”#39;在模型中

由于

1 个答案:

答案 0 :(得分:2)

您应该在模型中执行此操作。模型用于存储数据,隐藏下拉列表是表示逻辑。它应该在视图中完成。

所以基本上你的观点会有像

这样的东西
if(this.model.get('name') === 'pink'){
  this.$('#pinks-dropdown').hide();
}

您在模型中可以拥有的是一种对其数据进行某些操作的方法,因此您可以在模式中使用这样的方法:

isNameMatchingSomething: function(){
  // some big logic
  return this.get("name") === 'pink';
}

你可以使用它隐藏下拉视图,如:

if(this.model.isNameMatchingSomething()){
  this.$('#pinks-dropdown').hide();
}