Yapmaya çalıştığım şey, sayfa arka planındaki rastgele bir görüntünün ayarlandığı gövde arka planıdır. Hem servis hem de kontrolör fonksiyonunu denedim.AngularJS gövde işlevi rasgele çıkıyor
Sorun, bunun işe yaramasıdır, ancak araç ipuçlarına benzer bir şey yaparsam, düğmelere tıklarsam veya hatta sayfadaki denetçiyi açarsam, yöntem yeniden başlatılır.
Şu:
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" };
});
ve html: yöntem döngüsünü sindirmek bir her zaman denilen almak için gidiyor
body layout="column" ng-style="getBodyStyle()" ng-controller="AppCtrl">
'ngStyle' işlevini kullanmak sadece korkunç! Her sindirim döngüsünde hesaplayacaktır –
Bunun yerine nasıl yaparsınız? – CaptainOfTheSky
“getBodyStyle()” sonucunu kapsam özelliklerinden birine ('$ scope.bodyStyle = getBodyStyle()') kaydederek ve görünümü 'ng-style =" bodyStyle "' –