通过iOS中的Backbone.JS实现JS本机网桥
我知道如何通过纯JS代码(没有外部框架)在iOS中创建JS本机网桥,但我想知道当我使用Backbone.JS时会有什么变化吗?如果是的话,那么请任何人解释一下。你可以使用以下内容:通过iOS中的Backbone.JS实现JS本机网桥,backbone.js,uiwebview,Backbone.js,Uiwebview,我知道如何通过纯JS代码(没有外部框架)在iOS中创建JS本机网桥,但我想知道当我使用Backbone.JS时会有什么变化吗?如果是的话,那么请任何人解释一下。你可以使用以下内容: yourBackboneObject.on('all', function(eventName) { var args = Array.prototype.slice.call(arguments); args.shift(); NativeBridge.call(eventName, args); })
yourBackboneObject.on('all', function(eventName) {
var args = Array.prototype.slice.call(arguments);
args.shift();
NativeBridge.call(eventName, args);
});
在对象中:
this.trigger('someiOSfunction', someArg, someOtherArg);
当然每个主干对象都可以发出事件,无论是视图、模型还是集合。第二个代码片段显示了如何从主干对象的任何方法内部发出事件。第一个代码段只是转发来自给定对象的所有事件,如果触发了“someiOSfunction”,iOS上的someiOSfunction将被调用,使用您传递的任何参数。棘手的一行是
var args=Array.prototype.slice.call(参数)这只是一种将函数的参数转换为普通数组的方法。。通常你不能在参数上调用数组方法,比如shift
。哦,顺便说一句,我注意到你需要在var args=Array.prototype.slice.call(参数)行中作为第二个参数传入0代码>参见此相关问题:以及