本文介绍了在 iOS 客户端调用卡片方法的实现路径。
操作步骤
在卡片侧实现调用的 JS 方法。
<script> const navigator = requireModule("crystalnavigator"); export default { data: { message: 'Hello Cube', text:"Cube引擎是一套简单易用的跨平台开发方案,能以Web的开发体验构建高性能", string: "defaultString", temp:"https://gw.alicdn.com/tfs/TB1dZ4WowoQMeJjy0FnXXb8gFXa-950-1267.jpg" }, methods: { //客户端调用的JS方法 jsTestMethod(string) { //更新页面参数 this.string = string; } } } </script>
将卡片打包,发布到卡片后台。
客户端调用。
在卡片加载的代理方法中获取卡片实例,调用对应的 JS 方法,并发送数据。
#pragma mark---CrystalCardCallback - (void)onLoaded:(CubeCard *)card cardType:(CCardType)cardType config:(CubeCardConfig *)config erroCode:(CubeCardResultCode)erroCode { if (!card) { NSString *errMsg = [NSString stringWithFormat:@"创建失败:templteId=%@,style=%d, error=%d", [config templteId], cardType, erroCode]; NSLog(@"错误信息:%@", errMsg); return; } NSLog(@"创建成功 succ %@ style %d error %d", [config templteId], cardType, erroCode); dispatch_async(dispatch_get_main_queue(), ^{ NSString *text = @"客户端调用卡片JS方法传参:Hello World"; if (![text isEqualToString:@""]) { NSArray *valueArray = @[text]; //调用与卡片约定的JS方法,传入参数 [card callJsFunction:@"jsTestMethod" arguments:valueArray]; } }); }
文档内容是否对您有帮助?