创建工程后,使用webStorm打开,待源码开发完毕后,在webStorem里的终端里使用命令
weex compile 要编译的文件或者文件夹 要编译到的目录
例如,我想到src文件夹下的所有文件编译到桌面
weex compile src /users/mac/desktop
本地的js调用可以直接托入bundle测试,要是测在线的话,你需要自己搞个nginx,当然这个也简单brew install nginx
。然后把你编译后的js放在服务器上即可。然后原生push到weex页面即可。
大家都知道如果用WX_EXPORT_METHOD
,这东西只走一次,而且是瞬间的,不存在说,隔了多久,用户在某个时间点了这个控件,js再能拿到这个callback
,这个方法肯定不行。
WX_EXPORT_METHOD_SYNC
虽然能时时拿到,但是也是js主动去拿原生的数据。对于控件代码,是原生调用js,所以我们的场景 不一样了。
nativa call js
这里有个省市区的选择器,是原生的,weex会有一个方法调起这个原生控件的显示。当这个控件选择好了省市 区后,会有一个代理方法通知新的数据,在原生里,那么如何让js知道呢,通知
。
/**
* fire module event;
*/
- (void)fireModuleEvent:(Class)module eventName:(NSString *)eventName params:(NSDictionary*)params;
/**
* fire global event
*/
- (void)fireGlobalEvent:(NSString *)eventName params:(NSDictionary *)params;
native发送了通知后,js得监听。
var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("testNotification", function (e) {
console.log("you get the notification from native")
});