Jquery angularjs&cordova-设备就绪
我知道如何在jquery中检查设备就绪。但是将jquery与angular一起使用是不好的做法。所以,我不打算在angular中使用jquery 我想测试设备就绪事件。在jquery中,以下代码起作用: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
<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用的是打字脚本。