使用对象函数的全局回调

时间:2013-04-22 01:07:39

标签: javascript api backbone.js

我正在集成一个Api,它具有调用必须在全局空间中的函数的事件。我使用骨干来定义响应那些回调的视图和模型,这将是绑定该回调的最佳方式,以便它调用模型实例中的函数,例如: 得到像这样的实例

  Model.extend({
       thisIsTheApiCallback: function() {
            //DO WORK
       }
  }) ;

在页面中表现得像这个脚本

<script language="JavaScript" type="text/javascript">
   function thisIsTheApiCallback() {
         //DO WORK
   }

</script>

1 个答案:

答案 0 :(得分:0)

如果您希望模型间接收听全局回调,可以使用Backbone转发事件。请记住,在调用全局回调时,您创建的模型的每个实例都会调用doSomething

// global callback function
function thisIsTheApiCallback() {
         Backbone.trigger('foo');
   }

// MyModel doesn't need to know about the global callback.
var MyModel = Model.extend({
       initialize:function(){
           this.listenTo(Backbone, 'foo', this.doSomething);
       },

       doSomething: function() {
            //DO WORK
       }
  }) ;