2017-09-06 5 views
0

構文の使い方を理解できません。 、私は最初に変更したいと最後のデフォルトのparamと私は真ん中のparamを変更したくないような何か文法の問題が少ない

@red: #ff4136; 
@blue: #00aef9; 
@green: #01ff70; 
@yellow: #ffdc00; 

.paint(@color: @yellow, @height:100px, @width:200px) { 
background-color: @color; 
height: @height; 
width: @width; 
} 

    .monster-happy { 
     .paint(@color, 100px, 10px); 
    } 

:私は、デフォルトのparamsを持つシンプルなミックスインを持っている

.monster-happy { 
    .paint(@red, @height, 10px); 
} 

をしかし、それはdoesnの仕事。私はそれを正しいものにするべきですか、これを行うにはより良い方法はありますか?

+0

これは同じですね:( – prostyash

答えて

1

私は、あなたがデフォルトを使用したい値を無視して、引き続き引数の下にあるパラメータを明示的に定義できると信じています。

.monster-happy { 
    .paint(@red, @width: 10px); 
} 

これは、ミックスインが渡された値をチェックして渡すためです。常に最初に色が必要なのですが、@redを使用することができますが、高さを省いて次の値が@widthプロパティのものであることを明示する必要があります。

+0

ありがとうございます。しかし、私はそれをコンパイルしようとしていますが、エラーが出ます:SyntaxError:.monster-happy(2の3)の引数の数が間違っています – prostyash

+0

なぜそれが起こっているのか分かりませんが、私の言う限りではそれはうまくいくはずです。 –

関連する問題