我有一些html片段依赖于在会话中设置的某些值,是否有可能以某种方式调整包含,以便我最终不会复制大量的html代码?或者也许有另一种方法可以解决这个问题,不涉及html // 1?
foo -->
html([
div(p('I''m always displayed')),
{
http_session_data(Data),
% some other logic
},
div(p('I''m only displayed when there''s session data'))
)].
代码失败:ERROR: [Thread httpd@9999_3] Failed to translate to HTML: http_session_data(Data)
答案 0 :(得分:0)
我通过将逻辑放在另一个DCG并将其包含在html // 1中来解决这个问题。
(
{
http_session_data(Data)
}
->
div(p('I''m only displayed when there''s session data'))
;
{true}
)
{true}
部分是在控制台中删除错误消息。
然而,我已经改变主意并决定使用AngularJS来处理Html,因为Prolog对它的支持对于复杂的DOM来说太基础和痛苦。