如何从AngularJS指令调用Android方法?

时间:2016-04-27 13:27:37

标签: javascript android angularjs typescript

我有使用Angularjs指令的html,这个html文件在Android WebView中使用,我想从这个指令调用Android方法(How to call Android method from JS

这是我的指示,

return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            scope.$watch('controller.isReady', function (value) {
                if (value === true) {
                    try {
                        Android.isReady();
                    } catch (e) {}
                }
            });  
        }
    }

当我使用Typescript时,显然我收到一条错误,指出Android未定义。即使会有纯粹的AngularJS,Android对象仍然是未定义的。

有没有办法使这个工作,所以我将能够从AngularJs调用Android方法?

1 个答案:

答案 0 :(得分:1)

您需要declare Android个对象。

interface AndroidApi {
    isReady(): void;
}

declare var Android: AndroidApi;

然后Android.isReady()对编译器有意义。

修改

这是ambient declarations的更好资源。