2012-10-22 18 views

回答

1

你可以使用類似的規定:

yourBackboneObject.on('all', function(eventName) { 
    var args = Array.prototype.slice.call(arguments); 
    args.shift(); 
    NativeBridge.call(eventName, args); 
}); 

和對象:

this.trigger('someiOSfunction', someArg, someOtherArg); 
+0

感謝烏拉圭回合的答覆。但可以用這個代碼進一步解釋 –

+1

當然。每個Backbone對象都可以發出事件,可以是View,Model或Collection。第二個片段展示瞭如何從骨幹對象的任何方法中發出事件。第一個片段簡單地轉發來自給定對象的所有事件,並且如果觸發'someiOSfunction',則會調用iOS上的someiOS函數,並傳遞任何參數。棘手的一行是'var args = Array.prototype.slice.call(arguments);'它只是一種將參數轉換爲函數的方法,通常不會調用Array方法,比如「shift」參數。 – RushPL

+0

哦順便說一句,我注意到,你需要傳遞0作爲第二參數在行'VAR ARGS = Array.prototype.slice.call(參數);' –