如何在应用程序内部注入模板部分?

时间:2018-08-17 12:17:31

标签: javascript html css

我正在使用Angular构建Web应用程序,该应用程序从服务器端接收部分。

每个部分包含以下内容:

  • HTML模板。
  • CSS规则。

注意:部分通常很小。

我现在正在研究管理客户端和服务器端之间通信的最佳实践,

我的第一个想法是将html和css作为字符串接收,并将它们注入文档中,如下所示:

interface section {
   html: 'this is html',
   css: 'css rules'
};

然后将它们简单地注入文档中

function addStyleString(str) {
    var node = document.createElement('style');
    node.innerHTML = str;
    document.body.appendChild(node);
}

addStyleString(section.css);



function addHtmlString(str) {
   var node = document.createElement('div');
   node.innerHTML = str;
   document.body.appendChild(node);
}

addHtmlString(section.html);

我发现这种方法的问题是,从模板中删除该部分时,如何从html和css代码中删除其内容?

另一种建议的方法是获取CSS作为文件,然后将文档与获取的文件绑定。

有什么建议吗?或更好的方法?

2 个答案:

答案 0 :(得分:1)

尝试Angular Universal: server-side rendering

有了它,您可以在服务器上生成角度分量。并在前端使用它。

答案 1 :(得分:-1)

最好的方法不是从服务器获取HTML / CSS以便在Angular应用程序中显示它,而是获取结构化数据(JSON,...)并在Angular中本地呈现。 Angular擅长使用模板渲染数据,因此这样做会使您的生活变得比必要的艰辛。