您好我正在使用Ionic框架和Cordova开发混合应用程序。我希望使用设备uuid作为ID,所以我添加了cordova设备插件。另外我使用NG-Cordova包装器来调用我的cordova插件。然而,每当我在xcode模拟器或实际的Ipad上运行我的应用程序时,我得到的是{{uuid}}。
似乎没有任何错误消息我只能假设设备插件无效。
我已将我的代码放在下面,但是我不确定这是不是问题,之前是否有人遇到此问题,如果是这样,他们是如何解决的?
控制器:
angular.module('starter.controllers', []).controller('DashCtrl', function(
$scope, $state, $cordovaDevice) {
var init = function() {
console.log("initializing device");
try {
$scope.uuid = $cordovaDevice.getUUID();
} catch (err) {
console.log("Error " + err.message);
alert("error " + err.$$failure.message);
}
};
init();
})
HTML
<ion-view title="Dashboard">
<ion-content class="padding">
<h1>Dash</h1>
{{uuid}}
</ion-content>
</ion-view>
app.js
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(
true);
}
if (window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
});
}).config(function($stateProvider, $urlRouterProvider) {
$stateProvider
// setup an abstract state for the tabs directive
.state('tab', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
// Each tab has its own nav history stack:
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'templates/tab-dash.html',
controller: 'DashCtrl'
}
}
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/tab/dash');
});
答案 0 :(得分:1)
我的问题背后的原因是由于使用了ngCordova的自定义版本。
如果我只是ngcordova的正常或缩小版本,它可以完美地运行。
感谢您的帮助。