UIWebView和vue.js通信(json數據)

iOS接收Vue的json數據

	methods:{
            //選擇某一個銀行
            hotBankFun:function (bank) {
                console.log(bank)
                hotBankFunClick(bank)
            }
    }
- (void)webViewDidFinishLoad:(UIWebView *)webView{
    //1.iOS監聽vue的函數
    JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
    //定義好JS要調用的方法, share就是調用的share方法名
    //熱門銀行選擇銀行
    context[@"hotBankFunClick"] = ^() {
        NSDictionary * bankDict = [NSDictionary dictionary];
        NSArray *args = [JSContext currentArguments];
        for (JSValue *jsVal in args) {
            bankDict = jsVal.toDictionary;
            break;
        }
        HWDLog(@"%@",bankDict);
        BankModel * bank = [BankModel yy_modelWithJSON:bankDict];
        [self hotBankDidClick:bank];
    };
}

iOS傳遞到vue界面json數據

   NSDictionary*dict = @{@"name":@"宇航我愛你",@"address":@"北京市東城區"};
    NSString*dictString = dict.yy_modelToJSONString;
    NSString *jsStr = @"hwajax('lvkaike')";
    
    jsStr = [NSString stringWithFormat:@"hwajax(%@)",dictString];
    NSLog(@"%@",jsStr);
    [webView stringByEvaluatingJavaScriptFromString:jsStr];

app.vue

methods:{
            hwajax:function (strings) {
                this.tokenString=strings;
            }
        }
mounted:function () {
            window.hwajax = this.hwajax;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章