Ich bin sehr neu in AngularJS/Ionic/Cordova Programmierung und versuche, die Sichtbarkeit einer Komponente mit einer globalen Variablen zu behandeln, so dass es von anderen Komponenten versteckt oder gezeigt werden kann. Ich erstelle die Variable, wenn ich die Funktion run
aufruft und sie $rootScope
zuweise.
app.run(function($rootScope, $ionicPlatform) {
$ionicPlatform.ready(function() {
// Some Ionic/Cordova stuff...
// My global variable.
$rootScope.visible = true;
});
})
Meine Komponente ist:
function MyComponentController($rootScope, $scope) {
var self = this;
self.visible = $rootScope.visible;
alert(self.visible);
}
angular.module('myapp')
.component('myComponent', {
templateUrl: 'my-component.template.html',
controller: MyComponentController
});
Und die Vorlage:
<div ng-if="$ctrl.visible">
<!-- ... -->
</div>
jedoch die Warnmeldung immer "undefiniert" zeigt. Was vermisse ich?
1. Platz Sie nicht mit '$ rootScope' denken sollen, erstellen Sie einen Dienst und teilen Sie seine Variable, wo immer Sie brauchen .. –