저는 스칼라/리프트 초보자이며 각 항목에 선택적 "태그"가있는 목록을 렌더링하는 데 문제가 있습니다. "경고 전자"In (Scala) Lift, Helpers.bind를 사용할 때 템플릿에서 원본 HTML을 렌더링하는 방법
는내 HTML 템플릿은 내가, 어떤 경우에는,의 내용을 가지고 내가 좋아하는 것
def list(node : NodeSeq) : NodeSeq = {
getItems flatMap(it => {
Helpers.bind("e", node,
"name" -> { Text(it.name) },
"warning" -> {
if (it.isDangerous) { <<INSERT HTML FROM TEMPLATE>> }
else { Text("") }
}
)
})
}
이
<lift:Items.list>
<e:name>Rock</e:name><br />
<e:warning><span style="color:#ff0000;">DANGER!</span></e:warning>
</lift:Items.list>
그리고 Items.scala에 말한다 태그는 그대로 표현됩니다. "노드"에서 추출 할 수있는 쉬운 방법이있을 것이라고 확신합니다. 그러나 어떻게되는지 파악할 수 없기 때문에 리프트 지식에 큰 차이가 있다고 생각합니다. 누군가가 나에게 적절한 절차를 지적 할 수 있다면 나는 매우 감사 할 것이다.
대답 : 고마워. 나는 다음과 같이 코드를 구조화했다.
"warning" -> { (n : NodeSeq) => {
if (it.isDangerous) { n } else { Text("") }
}}
가능한 복제본 : http://stackoverflow.com/questions/4404111 – Debilski