Weex编译小记 native call js

创建工程后,使用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")
});

你可能感兴趣的:(Weex编译小记 native call js)