如何在Angular 2中引导应用程序而不替换原始网站的内容?

时间:2017-04-24 08:10:46

标签: angular

我不是一个单页应用程序,但我宁愿制作一个Angular应用程序来运送组件,这样用户就可以在他们的网站上放置一个标签,Angular应用程序识别标签并相应地实现组件。

我们说我有一个只实现一个组件test的Angular应用程序,应该可以将该组件放在页面的任何位置:

<body>
    ...
    <test></test>
    ...
</body>

或者像这样:

<body>
    <div>
        ...
        <test></test>
        ...
    </div>
</body>

等等。

但是,如果我在body DOM元素中引导App模块,则会替换body的全部内容。所以我需要的是在应用程序中实现一个Angular组件而不替换页面的其他内容的方法。

我想这样做的一个正确方法是注入和操纵templateRefelementRefviewContainerRef中的一些,但我不确定它究竟是哪一个,我应该怎么做和他们一起做。

帮助表示赞赏!

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

如评论中所述,您可能不希望在此特定类型的应用程序中使用Angular2 / 4。如果你想在现有页面中添加小块,React可能是你正在寻找的MVC。除此之外,您可能只想使用jquery或类似代码进行编码。 Angular2 / 4并不能作为现有的附加部分工作,并且适用于大规模的Web应用程序开发(因此是巨大的初始应用程序大小)。

如果您真的想使用Angular2 / 4,那么您希望将以前的代码转移到Angular Framework中。要么将旧页面转移到Angular2 / 4 Framework中,要么必须重写Angular代码。

很抱歉,因为我确定这不是您希望听到的答案。