Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在aurelia中忽略html_Html_Aurelia - Fatal编程技术网

如何在aurelia中忽略html

如何在aurelia中忽略html,html,aurelia,Html,Aurelia,我试图写一个简单的网站,列出一些代码和html,并提供一些样式和解释。如何在服务器上将HTML添加到文档中,而不让aurelia尝试解析它?我不使用视图模型,只使用纯HTML 例如,我使用Prism突出显示以下代码: <span>${firstName}</span> ${firstName} 但是,这段代码的结尾是: <span></span> 在我的文件中。我有没有办法告诉aurelia跳过html的某些部分?为了让问题变得更难,我包

我试图写一个简单的网站,列出一些代码和html,并提供一些样式和解释。如何在服务器上将HTML添加到文档中,而不让aurelia尝试解析它?我不使用视图模型,只使用纯HTML

例如,我使用Prism突出显示以下代码:

<span>${firstName}</span>
${firstName}
但是,这段代码的结尾是:

<span></span>

在我的文件中。我有没有办法告诉aurelia跳过html的某些部分?为了让问题变得更难,我包含了来自实际源文件的这些代码片段(使用swig-includes),因此我不能手动添加属性;我想保持html的“原样”。不过,我可以将其包装在自定义元素中,但我不希望这样

我尝试过的内容(尝试时会列出更多选项):

  • 将html包装在脚本标记中。希望auralia不要管它,但不要掷骰子
  • 转义HTML

如果HTML字符串存储在属性中,您可以使用
innerhtml
绑定。例如:

查看模型

this.htmlProperty = '<span>${firstName}</span>';
this.htmlProperty='${firstName}';
查看

<div innerhtml.bind="htmlProperty | sanitizeHTML"></div>


从:

使用innerhtml属性绑定只需设置元素的 innerHTML属性。标记不会通过Aurelia的 模板系统。绑定表达式和require元素将不可用 进行评估

始终使用HTML清理。我们提供了一个简单的转换器,可以 被使用。我们鼓励您使用更完整的HTML消毒剂,如 就像清理html一样


到目前为止,似乎不可能忽略aurelia中某些DOM节点的解析。至少看起来不太可能,所以我在混合中添加了一个替代方案:

我创建了一个名为getContent的自定义属性,它接受一个URL,检索HTML并将其插入元素的innerHTML中。使用自定义元素,您可以在qtuan的答案上展开,并将innerHTML绑定到这个“获取”的内容

可以这样使用此元素:

<div class="container">
    <h3>SWIG include example</h3>
    <pre class="line-numbers">
        <code class="language-markup">
            <script type="prism-html-markup"
                    get-content="/modules/components/lists/templates/list.html">
            </script>
        </code>
    </pre>
</div>

SWIG包括示例

正确注入html不需要内部脚本标记,它只是为了保持事情的有序


我打算把这个问题再讨论几天,希望有人能回答真正的问题,但现在有两个选择正确答案和我的答案。

不,这是不可能的。(16-05-2016)

另外两个答案是变通方法,应该使用


您可以使用相同的语法将语法输出为字符串,这就是我使用相同的Prism所做的

<span>${'${myCodeVar}'}</span>
${${mycdavar}}

如果您愿意使用自定义元素,这非常简单

下面是一个合适的自定义元素:

import {  noView, processContent } from "aurelia-framework";

@noView()
@processContent(false)
export class AureliaIgnoreCustomElement {

}
你只是这样使用它

<aurelia-ignore>${firstName}</aurelia-ignore>
${firstName}

再次阅读您的问题,我可能误解了。看起来你说的是在生成的HTML被发送到客户端并由Aurelia处理之前的服务器端包含。是的,事实上,我刚刚在你回答下面的一条评论中澄清了这一点。很抱歉,我没有比使用自定义元素更好的主意,这不是你的选择。谢谢你的回答,但这不完全是我的用例。我有一大堆html,在这个html中有类似{%include'my file.html%}的东西,它是用swig(在服务器上)呈现的。此内容位于中,因此无法通过innerhtml绑定此内容。感谢共享您的解决方案!我担心我误导了您使用innerhtml搜索解决方案。回想一下,如果您希望按原样显示一个字符串
${firstName}
,这意味着两者:该字符串应该是HTML转义的,而Aurelia不应该编译它。事实上,这可以通过简单的字符串插值实现,例如
${htmlProperty}
。如果您已经有了这个解决方案,那么可能是在服务器端完成了HTML转义。Tbh,我只是将文件作为文本加载,而不是作为
application/HTML
(如果我错了,请纠正我)自动转义HTML。此解决方案应该“只适用于”正确的服务器端框架。
import {  noView, processContent } from "aurelia-framework";

@noView()
@processContent(false)
export class AureliaIgnoreCustomElement {

}
<aurelia-ignore>${firstName}</aurelia-ignore>