Как применить границу к потоку при клике?
У меня есть этот кусок приложения обувь:
flow :top => 10, :left => 10 do
flow :width => 0.3 do
para @board.deck.card
click do
if @board.source_pile
@board.source_pile = nil
@deck_border.hide
else
@board.source_pile = @board.deck
@deck_border = border yellow, :strokewidth => 2
end
end
end
end
Я хотел бы применить границу только ко второму потоку, но по какой-то причине граница появляется вокруг всего приложения. Что мне не хватает?
1 ответ
Решение
Обувь имеет хитрые блоки. Короче говоря, в блоках, self
обычно относится к заявке. Чтобы противостоять этому, нам нужно создать переменную для хранения потока, который мы хотим ограничить:
flow :top => 10, :left => 10 do
inner = flow :width => 0.3 do
para @board.deck.card
click do
if @board.source_pile
@board.source_pile = nil
@deck_border.hide
else
@board.source_pile = @board.deck
@deck_border = inner.border yellow, :strokewidth => 2
end
end
end
end