我在资产文件夹中有一个文本文件,其中包含一些要在特定组件的div中呈现的html。
有没有一种方法可以读取该文件并将其内容分配给字符串变量,而无需用户与ngOnInit中的视图(具有输入文件类型)进行交互。
我的发现 如果我将html内容放入json对象,我们将不得不从中删除所有换行符。这意味着它将是一个没有换行符的字符串。
{
"html": "<h1 class=\"user\">Name</h1><p>Ahsan</p>"
}
这对设计人员是有限制的,他们会将html转换为多行字符串,并且我们还将删除转义序列。
如何使用文本文件来实现。
原因
我想这样做是因为,我想避免为某些内容更改而重建和发布整个角度应用程序。即使是某些内容更改,我也必须重新构建并重新发布该应用程序。
答案 0 :(得分:0)
问题非常模糊,所以我只列出一些可供研究的选项:
1)首先,如果这是浏览器页面,则可以在服务器上提供html页面并向客户端请求。
2)或者,您可以执行一个构建步骤,用HTML文件的内容替换一些变量值。这样可以避免解决方案(1)的HTTP请求。
3)另一方面,如果这是一个节点(或电子)应用程序,则除了解决方案(2)之外,您还可以使用节点的fs
访问HTML文件。
4)最后,也许是最简单但最不可行的解决方案,是将HTML放入JS对象。与JSON不同,JS对象可以支持换行。例如
let x = {
str: `line 1
line 2`
};
尽管即使您要使用JSON文件,也可以在字符串中包含转义的新留置权\n
。
答案 1 :(得分:-1)
您正在执行的示例或某些现有代码将有所帮助,但是,如果我正确理解了您的问题,则可以将html括在单引号中,然后将其作为字符串读取(即使其中包含双引号)。例如:
如果您的html是这样读取的:
> <button onclick="describeRob()">Tell Me about Bob!</button>
>
> <script> function describeRob() {
> document.getElementById("myHeader").innerHTML = "Bob constantly shows up late and doesn't understand basic programming."; } </script>
您可以简单地将其读取为一个字符串,以后可以通过javascript将其附加到div的html上,如下所示:
> String inputFromFile = ' <button onclick="describeRob()">Tell Me about Bob!</button>
>
> <script> function describeRob() {
> document.getElementById("myHeader").innerHTML = "Bob constantly shows up late and doesn't understand basic programming."; } </script> ';
然后可以将该字符串分配给所需的div,它将呈现为真实的HTML
如果要插入换行符,只需在html中手动放置一个换行符即可:
<br>