html//1中的SWI Prolog条件包含
我有一些html片段,它们依赖于会话中设置的一些值,是否有可能以某种方式对包含进行条件化,这样我就不会复制大量html代码?或者也许有另一种方法不涉及html//1html//1中的SWI Prolog条件包含,html,prolog,swi-prolog,dcg,Html,Prolog,Swi Prolog,Dcg,我有一些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 t
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'))
)].
代码失败:错误:[线程]httpd@9999_3]无法转换为HTML:http\u session\u dataData我将逻辑放在另一个DCG中并将其包含在HTML//1中,从而解决了这个问题
(
{
http_session_data(Data)
}
->
div(p('I''m only displayed when there''s session data'))
;
{true}
)
{true}部分是消除控制台中的错误消息
然而,我后来改变了主意,决定使用AngularJS来处理Html,因为Prolog对它的支持对于复杂的DOM来说太基本和痛苦了