Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 如何在主干网的不同视图中调用相同的函数_Backbone.js - Fatal编程技术网

Backbone.js 如何在主干网的不同视图中调用相同的函数

Backbone.js 如何在主干网的不同视图中调用相同的函数,backbone.js,Backbone.js,我在我的主干项目中创建了一个客户类: function Cart(){ //some working code here this.updateQtyLabel = function(labelName){ $('#'+ labelName).text(getTotalQtyItemCart()); }; } 我在我的主页视图中调用了此函数: var myCart = new Cart(); var HomeView = Backbone.View.ex

我在我的主干项目中创建了一个客户类:

function Cart(){
    //some working code here
    this.updateQtyLabel = function(labelName){
        $('#'+ labelName).text(getTotalQtyItemCart());
    };
}
我在我的
主页
视图中调用了此函数:

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()
,使其适用于我网站的所有页面


非常感谢。

没有全局方法为所有视图调用某些函数。 因此,您可以为所有视图编写基本对象,并在其initialize方法中调用方法。大概是这样的:

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...
    }
});

我可以将
BaseView
放在另一个文件中,并使用
require.js
调用它以在
HomeView
中使用吗?