2013-10-13 55 views
0

我在骨幹工程創建一個客戶類:如何調用同一個函數在不同的視圖中的骨幹

function Cart(){ 
    //some working code here 
    this.updateQtyLabel = function(labelName){ 
     $('#'+ labelName).text(getTotalQtyItemCart()); 
    }; 
} 

我在Home視圖調用此函數:

var myCart = new Cart(); 
var HomeView = Backbone.View.extend({ 
    initialize: function() { 
     myCart.updateQtyLabel("qtyCart"); 
    }, 
    //..... code of home view 
} 

這裏是塊index.html中的html:

<div id="qtyCart"></div> 

所以updateQtyLable()只在主視圖工作在我的網頁頁眉。

任何人都可以給我一些想法,我應該怎樣稱呼updateQtyLable()使它適用於我網站的所有頁面。

非常感謝。

回答

0

沒有全局的metohod可以爲所有視圖調用某個函數。 因此,您可以爲所有視圖編寫基礎對象,並在初始化方法中調用方法。類似這樣的:

var BaseView = Backbone.View.extend({ 
    initialize: function() { ..call here what you need...} 
}); 

var HomeView = BaseView.extend({ 
    initialize: function() { 
     BaseView.prototype.initialize.call(this); 
     ..other code here... 
    } 
}); 
+0

我可以把'BaseView'放在另一個文件中,然後調用它在'HomeView'中使用'require.js'嗎? – Nothing

+0

已經完成。謝謝。 – Nothing

相關問題