需求:js调原生页面,并把参数传过来
问题:js调起的方法走,但是获取不到参数
原因1:前端 APP 代码导致的
把参数的接收放在了主线程里面,因为页面的跳转需要放在主线程中,因为页面的刷新需要在主线程中,否则可能会引起崩溃。如下图:
解决:正确的写法
context[@"yaoQingHaoYou"] = ^() {
NSArray *args = [JSContext currentArguments];
NSLog(@"%@",args[0]);
dispatch_async(dispatch_get_main_queue(), ^{
// 页面跳转事件实现
});
};
原因2:后台调用代码导致的
后台的 JS 调用代码的 onClick 事件的方法名 和 前台的JS 方法名相同导致的
下图:js的OnClick方法