Was ich versuche zu erreichen, ist der Körper Hintergrund wird auf ein zufälliges Bild beim Laden der Seite festgelegt. Ich habe sowohl eine Service- als auch eine Controller-Funktion ausprobiert.AngularJS Körperfunktion nach dem Zufallsprinzip gehen
Das Problem ist, dass dies funktioniert, aber wenn ich so etwas wie QuickInfos, klicken Sie auf Schaltflächen oder sogar Inspektor auf der Seite öffnen, wird die Methode erneut ausgelöst.
Derzeit:
app.service('getBodyStyle', function() {
var bgs = [
//list of jpgs
]
var rand = Math.floor(Math.random() * bgs.length);
var bg = bgs[rand];
return { "background": "linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4)), url('./Images/"+bg+"') no-repeat center center fixed" };
});
und die html:
body layout="column" ng-style="getBodyStyle()" ng-controller="AppCtrl">
Eine Funktion für 'ngStyle' ist einfach schrecklich !!! Es wird auf jeder Digest-Schleife berechnet –
Wie würden Sie es stattdessen tun? – CaptainOfTheSky
Controller, der das Ergebnis von 'getBodyStyle()' in eine der Eigenschaften des Bereichs ('$ scope.bodyStyle = getBodyStyle()') speichert und die Ansicht durch 'ng-style =" bodyStyle "' –