LESS değişkenlerini JavaScript ile dinamik olarak değiştirmek için less.js kullanmaya çalışıyorum. Ancak, modifyVars
, watch
veya refresh
ile çalışmak için görünmüyor olabilir., JavaScript ile sayfadaki LESS değişkenlerini dinamik olarak değiştir
less.modifyVars({'@bg': '#00ff00'})
numaralı telefonu kullanarak less.js dosyasını yüklemeden önce stil sayfası bağlantı etiketini yerleştirmeyi denedim, ancak arka planda değişiklik olmaz. Ben kullanıyorum az dosya basittir: this question belirtilen ve modifyVars
ve sonra refresh
bir çağrı izledi less.sheets.push($('#less-link')[0])
kullanma gibi
@bg: #000;
body { background-color: @bg; }
Ben de, less.js sonra stil link tag koyarak çalıştı. Arka plan renginde değişiklik yok.
Ayrıca @bg: #000;
'u LESS dosyasına yorumlamayı ve daha sonra modifyVars
aracılığıyla ayarlamayı denedim. Hayır şans: Ben bir Less::ParseError: variable @bg is undefined
ile sona erer.
LESS değişkenlerini dinamik olarak nasıl değiştirebilirim ve bu değişiklikleri yansıtacak sayfa görünümü güncelleştirmesini nasıl alabilirim?
Düzenleme: hm, bu bazı Rails büyüleri oluyor olabilir. Daha az dosyamı yüklediğimde, değişken tanımı gitmişti ve gördüğüm tek şey body { background-color: #000; }
idi. Sayfada gömülü <style type="text/less">
LESS bloğuna geçip this override LESS JavaScript kullandım. less.Override('@bg', '#00ff00')
ile bir değişkeni değiştirdim ve sayfanın arka plan rengini hemen değiştirdim. this answer'a teşekkürler. Şimdi <link>
yerine <style>
etiketini kullanarak less.js ile deneyeceğim.
Düzenleme: az-1.3.3.min.js AZ link
etiketleri yüklenecek istiyor gibi görünüyor - Ben TypeError: Cannot read property 'href' of undefined
olsun ben modifyVars
kullanmaya çalıştığınızda ve sayfam şöyle görünür:
<style type="text/less">
@bg: #000;
body {
background-color: @bg;
}
</style>
<script src="/assets/less-1.3.3.min.js?body=1" type="text/javascript"></script>