单击一个 slot 时,我会更改 slot 的内容以提供用户反馈,然后调用一些需要几秒钟才能运行的代码。但是,直到“慢”过程完成后,才会呈现对插槽的更改。有什么方法可以强制渲染在“慢”代码运行之前发生。
在以下示例中,用户永远不会看到“处理中,请稍候......”
class MyTest < Shoes
url '/', :index
url '/result', :result
def index
stack do
my_button=flow do
image './assets/trees.jpg'
para 'Process Image'
end
my_button.click do
my_button.contents[0].hide
my_button.contents[1].text="Processing, please wait ..."
sleep(4) # Simulate slow process
visit '/result'
end
end
end
def result
stack do
para "Finished processing"
end
end
end
Shoes.app
查看 ruby.c 或 canvas.c 中的 Shoes 源代码,有对重新绘制或绘制画布的引用。它们可以从鞋子内部调用吗?
提前致谢