Ich habe ein Plugin, um Informationen aus der DB zu bekommen, dann zeigen Sie die Informationen auf der Seite. Aber ich kann es nicht funktionieren, wenn die Seite geladen ist. Es funktioniert nur in einem Event-Handler.Cordova Plugin ist nicht bereit
Ich habe versucht, meine App in "Gerät" -Ereignis Bootstrap. Funktioniert immer noch nicht.
Bitte helfen Sie mir! Vielen Dank!
Die Datei index.html:
<body ng-controller='loginCtl'> {{company}}
<div class="list list-inset " style="margin-top:20px;">
<button class="button button-block button-calm" ng-click="login()">Login</button>
</div>
</body>
Die app.js Datei:
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady(){
var body = document.getElementsByTagName("body")[0];
angular.bootstrap(body,['starter']);
//company =myplugin.getCompany(); -- doesn't work here
}
angular.module('starter', ['ionic','starter.controllers'])
.run(function($ionicPlatform) {
//......
});
angular.module('starter.controllers', [])
.controller('loginCtl', function($scope) {
//$scope.company = myplugin.getCompany(); --- doesn't work at here
$scope.login=function(){
company =myplugin.getCompany(); //work at here
$scope.company = company;
};
});
, das ist ziemlich typisch für Plugins wie diese leider: die Software möglicherweise nicht bereit „, wenn die Seite lädt, "und es ist unvorhersehbar, wie lange es dafür dauern könnte" "Okay, ich bin jetzt bereit" * Ereignis zu kommen. Daher müssen Sie * (zum Beispiel) * die Seite zunächst mit einer Menge versteckter Objekte erstellen und diese erst anzeigen, wenn Sie das Bereitschaftssignal erhalten. (Und übrigens, testen Sie diese Art von Sachen auf dem SLOWEST, OLDEST, MOST MEMORY-STARVED Gerät, das Sie in einem lokalen Groschenladen ausgraben können, 'Cuz ** das ist, was Sie wirklich sind Benutzer wird in seiner Tasche haben.) –
@oldbird haben Sie Cordova.js Datei in Ihrem HTML enthalten? – Gandhi