【问题标题】:I want to pass value to AngularJS method in controller from android我想从android将值传递给控制器​​中的AngularJS方法
【发布时间】:2014-08-26 12:00:18
【问题描述】:

您好,我想从 Webview Controller android 将值传递给 AngularJS 中控制器中定义的方法。我正在发送我的代码,请检查。提前致谢。

myBrowser = (WebView) findViewById(R.id.mybrowser);
client = new WebChromeClient();
final MyWebClient myJavaScriptInterface = new MyWebClient(this);
myBrowser.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
myBrowser.setWebChromeClient(client);
myBrowser.getSettings().setJavaScriptEnabled(true);
myBrowser.loadUrl("file:///android_asset/angularjsandroid.html");

myBrowser.loadUrl("javascript:callFromActivity1(\'" + json+ "\')");

JS代码

function personDetail($scope) {
    $scope.getPersonDetail = function() {
        var jsonString = JSON.stringify($scope.data);
        showAlert(jsonString);
    };

    $scope.updatePersonDetail = function(details){
        AndroidFunction.getJSONData($scope.id); 
    };

    $scope.callFromActivity1 = function(msg) {
        alert(msg);
    };
});

【问题讨论】:

  • json 是一个字符串,应该在 callFromActivity 方法的 msg 中接收。
  • 凹凸。我也有同样的需求
  • 我做到了,伙计
  • 在控制器外部使用范围变量并且它起作用了。如果您需要更多帮助,请告诉我。
  • 你好@HardikChauhan 你能解释一下你是怎么做到的吗?或者您可以使用您的工作代码编辑您的问题。我有同样的问题。谢谢你。

标签: javascript android angularjs angularjs-scope


【解决方案1】:

是的,确实是这样:

var angular_scope = angular.element($("#main_content")).scope();

然后你就可以随心所欲了

【讨论】:

  • 这里的#main_content 是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多