2014-02-14 29 views
0

所以我有這個功能,可以延遲加載以下文件:我可以延遲加載較少的文件,並仍然使用變量?

var addLess = function(url) { 
    $('head').append('<link rel="stylesheet" type="text/less" href="' + url + '" />'); 
    var newStyle = $('link[href="' + url + '"]').get(0); 
    less.sheets.push(newStyle); 
    less.refresh(); 
} 

但是,如果我在我的少主文件變種,其已經被加載時,我打電話addLess

@valentine: #ef26ac; 

我不能以參考var當我打電話addLess

.content { 
    background: @valentine; 
} 

這將引發

NameError: variable @valentine is undefined 

有沒有人看到我可以解決這個問題的方法?

+0

他們所有人都共享相同的工作空間嗎? – MJoraid

+0

@Joraid我不知道你的意思是...是一個內部少的東西?他們都在同一個文件中... – dezman

回答

1

LESS不會讀取加載到html中的變量「across」文件(因爲您的延遲加載正在進行)。在沒有被加載的時候,它就變成了css。

對於從另一個較少文件讀取變量的文件較少,那麼少一個文件必須是@imported到較少代碼本身中的第一個文件。

所以你應該有一個「variables.less」文件或類似的東西,和@import文件到每一個可能需要一個變量的文件。