2013-09-23 75 views
0

如何檢查get()返回的值?主幹js:檢查get方法的值

例如,我可以做到這一點(假設的模型已經被定義):

var someModel = new MyModel(); 

if (someModel.get('title') === 'sample number one') { 
    this.$el.html(_.template($('#template-one').html()); 
} 

if (someModel.get('title') === 'sample number two') { 
    this.$el.html(_.template($('#template-two').html()); 
} 

還是有這樣做的更好的辦法?

另外如果可能的話,我可以用switch(myVar){ ... }來做嗎?

非常感謝

+0

'someModel.get(attributeName)'這是如何使用'縮進':您提供屬性名稱;你會得到它的價值。控制流風格是一個品味問題。 – tikider

+0

你想達到什麼目的? –

+0

嗨@ErikAhlswede,我想要做的是根據get()返回的值來呈現模板,也就是說,如果get('title')'的值是'sample number one',那麼使用'sampleTemplateOne.html'等等... – Shaoz

回答

0

你應該聽型號「改變」事件,然後切換模板和運行視圖重新渲染。

var someModel = new MyModel(); 

someModel.on('change', this.onModelChange); 

......... 

onModelChange: function(model){ 
    if (model.get('title') === 'sample number one') { 
     this.template = _.template($('#template-one')); 
    } 

    if (model.get('title') === 'sample number two') { 
     this.template = _.template($('#template-two')); 
    } 

    this.render(); 
} 
+0

很多謝謝@Mihail Skida ... – Shaoz