【问题标题】:“device is not defined” : Ionic/Cordova app - trying to collect device model/manufacturer“设备未定义”:Ionic/Cordova 应用程序 - 尝试收集设备型号/制造商
【发布时间】:2016-02-23 15:19:24
【问题描述】:

我已经安装了 cordova 插件“cordova-plugin-device”,并试图检索设备对象以获取运行我的应用程序的设备的型号和制造商。 https://www.npmjs.com/package/cordova-plugin-device

目前我的应用分为多个部分,我的“关于”部分控制器如下所示:

//咖啡脚本代码

angular.module('aboutPageController', ['ionic', 'ngCordova'])
.controller 'aboutPage',['$scope', '$ionicPlatform', '$cordovaDevice', ($scope, $ionicPlatform, $cordovaDevice) ->
$scope.aboutTxt = 'some text'
$ionicPlatform.ready ->
  $scope.$apply ->    
  $scope.aboutTxt = 'new text'
  device = $cordovaDevice.getDevice()
  console.log(device)
  deviceInformation = $ionicPlatform.device()
  $scope.aboutTxt = deviceInformation.model
  return
 return
return
]

我的应用

<!-- ionic/angularjs js -->
<script src="js/ionic.bundle.js"></script>
<script src="js/angular-resource.js"></script>
<script src="js/ng-cordova.min.js"></script>
<script src="cordova.js"></script>

<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/templates.js"></script>

我目前收到以下错误设备

ReferenceError: device is not defined

在 ionic.bundle.js:25642 ReferenceError: 设备未定义

【问题讨论】:

  • 你试过var device = $cordovaDevice.getDevice();而不是device = $cordovaDevice.getDevice()吗?
  • 对不起 - 这是我的咖啡脚本代码,所以当我运行我的 gulp 构建命令时,它会自动将其更正为有效的 javascript
  • 啊抱歉,没注意到,它在哪一行失败了? (不是 ionic.bundle.js:25642 而是实际代码)
  • 对不起,来自日志 ReferenceError: device is not defined at Object.getModel (ng-cordova.min.js:7)
  • 通常帮助我解决此类错误的方法是在错误上方插入debugger; 一行并尝试在控制台中运行下一行。这样您就可以确定存在的插件及其方法。

标签: javascript android angularjs cordova ionic-framework


【解决方案1】:

您必须等待cordova 发送deviceready 事件。否则会出现这个参考错误。您应该为deviceready 添加一个事件监听器。

这是我的理解。

【讨论】:

    猜你喜欢
    • 2015-06-07
    • 2013-02-18
    • 1970-01-01
    • 2015-09-01
    • 2011-05-06
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2012-10-28
    相关资源
    最近更新 更多