Jquery angularjs&cordova-设备就绪

Jquery angularjs&cordova-设备就绪,jquery,angularjs,cordova,Jquery,Angularjs,Cordova,我知道如何在jquery中检查设备就绪。但是将jquery与angular一起使用是不好的做法。所以,我不打算在angular中使用jquery 我想测试设备就绪事件。在jquery中,以下代码起作用: <script type="text/javascript"> document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { va

我知道如何在jquery中检查设备就绪。但是将jquery与angular一起使用是不好的做法。所以,我不打算在angular中使用jquery

我想测试设备就绪事件。在jquery中,以下代码起作用:

<script type="text/javascript">
    document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        var deviceID = device.uuid;

        $(document).ready(function() {
            document.addEventListener("offline", onOffline, false);
        });

        function onOffline() {
            location.href = "no_network.html";
        }   
    }
</script>
我怎样才能在angularjs中做同样的事情


请告知。

只需在服务构造函数或引导例程中添加事件侦听器即可

按照您的示例,管理应用程序网络状态的服务在Typescript中可能如下所示:

class NetworkStatusService {
    deviceIsOnline: boolean;

    constructor() {
        document.addEventListener("deviceready", () => {
            if (navigator.connection.type === Connection.NONE) {
                this.deviceIsOnline = false;
            } else {
                this.deviceIsOnline = true;
            }
        });

        document.addEventListener("offline", () => {
            this.deviceIsOnline = false;
        });
        document.addEventListener("online", () => {
            this.deviceIsOnline = true;
        });
    }
}
为方便起见,添加相应的Javascript代码段

var NetworkStatusService = (function () {
    function NetworkStatusService() {
        var _this = this;
        document.addEventListener("deviceready", function () {
            if (navigator.connection.type === Connection.NONE) {
                _this.deviceIsOnline = false;
            }
            else {
                 _this.deviceIsOnline = true;
            }
        });
        document.addEventListener("offline", function () {
            _this.deviceIsOnline = false;
        });
        document.addEventListener("online", function () {
            _this.deviceIsOnline = true;
        });
    }
    return NetworkStatusService;
}());

我得到语法错误:错误的方法定义。我对angular不熟悉,请告知。您使用的是Typescript还是纯Javascript?如果您使用的是Javascript,您可能需要修改代码;纯javascript。我用的是angular 1.3,我想angular 2用的是打字脚本。