angularjs - 有什么方法可以从 Angular js 应用程序(单页应用程序)调用 Angular 7 应用程序
问题描述
用例:Angular Js 应用程序将具有不同的组件(例如,应用程序的标头包含两个组件(视图 1、视图 2)。想法是使用 angular 7 为每个组件(视图 1、视图 2)构建一个不同的应用程序但是要在应用程序内置 Angular js 中查看应用程序的内容(意味着基本应用程序内置 Angular js 的页眉、页脚应该保持不变,当用户点击让我们说 view1 时,它应该能够显示在 Angular 7 中构建的 view1 应用程序的内容,给出了 SPA 的概念。
Application1:建立在 Angular JS 上
VIEW1 VIEW2
VIEW1--> 基于 Angular 7 构建的应用程序
当用户单击视图 1 时,在应用程序 1 中它应该能够显示
视图 1 视图 2
//视图1的内容//
解决方案
您可以将View1
,导出View2
为自定义元素(https://medium.com/@tomsu/building-web-components-with-angular-elements-746cd2a38d5b)
@NgModule({
declarations: [View1Component],
imports: [BrowserModule],
entryComponents: [View1Component]
})
export class AppModule {
constructor(private injector: Injector) {
const customButton = createCustomElement(View1Component, { injector });
customElements.define('app-view1', View1Component);
}
ngDoBootstrap() {}
}
从而在您想要的任何其他应用程序中重用它们(包括您的 AngularJS 应用程序)
<!--AngularJS template-->
<html>
<head>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<app-news-signup></app-news-signup>
<!-- Angular files -->
<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript" src="main.js"></script>
<!-- Using component -->
<app-view1></app-view1>
</body>
</html>
推荐阅读
- c++ - "this" 被重置 C++
- python - 在美元符号后提取以逗号作为千位分隔符的价格
- visual-studio-code - 更改 Visual Studio Code 的标签栏颜色
- haskell - 为 UTCTime 派生 GQLType 或 Generic
- javascript - Node.js:req.body 未定义
- typescript - typeorm - 类型“{Entity}”不可分配给类型“QueryDeepPartialEntity<{Entity}>”
- angular - 'Element | 类型的参数 null' 不可分配给“元素”类型的参数。类型“null”不可分配给类型“元素”。角
- javascript - 如何检查网页元素是否包含伪元素。爪哇
- pine-script - 松树脚本问题
- google-chrome - 谷歌选择器根本不加载