Angularjs 在非角度页面内喷洒角度为2的组件

Angularjs 在非角度页面内喷洒角度为2的组件,angularjs,angular,Angularjs,Angular,目前,我们正在研究Angular 1->Angular 2的升级路径,Angular 1的工作就是在面向公众的非应用程序页面上重用一些组件 这些页面实际上是静态HTML(尽管它们是由Rails呈现的),然后一些Angular 2组件被放置到页面中的适当位置。从Angular 1开始,我们只是用一个模块引导document元素,该模块提供我们需要的指令和组件。根本没有路由 对于Angular 2,它看起来要么全是,要么什么都不是。声明一个根组件,所有内容都通过该组件呈现。这对我们来说将是一个巨大的

目前,我们正在研究Angular 1->Angular 2的升级路径,Angular 1的工作就是在面向公众的非应用程序页面上重用一些组件

这些页面实际上是静态HTML(尽管它们是由Rails呈现的),然后一些Angular 2组件被放置到页面中的适当位置。从Angular 1开始,我们只是用一个模块引导document元素,该模块提供我们需要的指令和组件。根本没有路由

对于Angular 2,它看起来要么全是,要么什么都不是。声明一个根组件,所有内容都通过该组件呈现。这对我们来说将是一个巨大的转变,我希望避免在这些面向公众的页面上改变我们的行事方式

是否可以在静态HTML页面中只使用Angular 2组件,或者我们需要移动到单个根元素SPA设计

简而言之,我要问的是,是否可以将静态内容与动态角度组件混合在一起,或者所有角度组件都必须位于页面上的单个根元素中

我们只是用一个模块引导document元素,该模块提供了我们需要的指令和组件。根本没有路由

这正是我目前使用Angular2的方式。请参见上的示例——我的一些“静态”页面是由perl以与使用ruby相同的方式生成的


顺便说一句,如果你接受了

,那么两种方式都能使用你的模块就容易多了,所以这比我最初想象的要简单。在本文中,它有一些关于引导多个应用程序的特定措辞

引导多个应用程序 在浏览器窗口中工作时,会出现许多单例 资源:cookies、标题、位置和其他。角服务 表示这些资源也必须在所有角度上共享 占用同一浏览器窗口的应用程序。因此,, Angular只创建一个全局平台对象,该对象存储所有 共享服务,每个角度应用程序注入器都有 平台注入器作为其父级

每个应用程序都有自己的专用注入器。当有 一个页面上有多个应用程序,每个应用程序 injector的服务是该应用程序的专用服务

所以很明显,这是有可能的,多个应用程序共享服务资源,这正是我所希望的

我用多个引导组件做了一些简单的测试,效果很好。有一件事我还没有尝试过,那就是引导Angular 2在Angular 2组件之外使用。我怀疑这是行不通的,而且引导程序只适用于组件,而不适用于指令


在指导方面,我建议Angular 2并不是为整个静态页面的喷洒行为而设计的,可能不应该这样使用。相反,虽然页面的多个部分可能由多个应用程序定义,但这些组件应该构成几乎所有的文档/界面。

这与我们现在所做的并不完全相同。例如,我们有一个完全静态的登录页,它在整个页面中使用了几个组件。没有单一的“根”组件。我想我可以为这个引导多个组件?你找到答案了吗?我也有同样的问题。没有,但我将在本周亲自尝试一下,所以请继续关注。我发现将您自己的自定义服务的单个实例注入页面上的多个Angle应用程序很有帮助。根据您的做法和您使用唯一全球平台对象的经验,您是否同意不可能在同一网页中托管多个不同的Angle版本(例如2.0和2.1)?这很有帮助,但是链接的文档现在是404,当前文档中的“引导”部分没有提到这一点。有人能确认它是否仍然适用于angular 5吗?