账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue与ios交互 stringByEvaluatingJavaScriptFromString
    • 2020-01-01 00:00
    • 11
    22
    0

    刚入职一家公司,让做的东西是和ios合作的,取用的数据没接口要用本地数据库。ios的同事说在app环境下他会直接给我提供一个方法如下

    SqlQueryFile()

    我查了查也许他是用stringByEvaluatingJavaScriptFromString方法给我html里插入了script标签相当于给我js写入了一个function类似下面这种,我不知道是不是这样。

    [webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"  
    "script.type = 'text/javascript';"  
    "script.text = \"function myFunction() { "  
    "var field = document.getElementsByName('q')[0];"  
    "field.value='朱祁林';"  
    "document.forms[0].submit();"  
    "}\";"  
    "document.getElementsByTagName('head')[0].appendChild(script);"];   
    [webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];  

    直接调用这个方法以后,他又给了我一个方法名如下,response就是他返给我的数据

     SqlUpdateComplete (identify, state, response){
        //do something
        }

    问题来了,因为要各种方式操作大量数据,我想用vue做这个需求,但是我写了如下代码(该方法在jquery下有效),没有任何反馈。我查了资料说是要把方法暴露在window下,但是又不知道细节如何。

     mounted() {
       SqlQueryFile(this.allData) //发起请求
        //接收函数
       SqlUpdateComplete (identify, state, response){
          if(identify == 3){
            alert(333)
          }
        }
     },
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • ✎﹏ℳ๓初染♡ 普通会员 1楼

      在Vue中,如果你想通过JavaScript从字符串中获取值,你可以使用JavaScript的eval()函数。但是,eval()函数有一个缺点,那就是它会执行任意的JavaScript代码,可能会导致安全问题。

      如果你只是想在Vue中获取字符串中的某个值,你可以使用JSON.parse()函数。JSON.parse()函数会将JSON字符串解析为JavaScript对象,这样你就可以在Vue中访问和操作这个对象的属性。

      例如,假设你有一个JSON字符串,其中有一个名为"key"的属性,你可以使用以下方式在Vue中获取这个属性:

      javascript var value = JSON.parse(myJSONString); console.log(value.key); // 输出 "key"

      在这个例子中,myJSONString是你的JSON字符串,value是JavaScript对象,console.log()函数打印出"key"属性的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部