在backbone.js中封装

sti*_*man 1 jquery encapsulation backbone.js

这可能是一般的javascript或jQuery问题 - 我正在使用backbone.js,我想在一个可以由子类使用的类中使用私有方法.这可能吗?

var fooView = Backbone.View.extend({
  initialize: function () {
    this._privateFunc();
  },
  _privateFunc: function () {
  ...
  }
});

var subFooView = fooView.extend({
  initialize: function () {
    this.coolFunc();
    this._privateFunc();
  },
  coolFunc: function () {
  ...
  }
});
Run Code Online (Sandbox Code Playgroud)

但是_privateFunc并没有暴露给外界.我对javascript中的封装很新,所以如果有明显的答案,请原谅我.:d

Pla*_*lap 5

如果你的意思是私人,你可以尝试这样的事......

var fooView;
(function(){
    var _privateFunc = function () {
        ...
    }

    fooView = Backbone.View.extend({
      initialize: function () {
        _privateFunc.call(this);
      }
    });
})();
Run Code Online (Sandbox Code Playgroud)