标签:简单的 功能 获得 ati 就是 cto safari 页面 class
Angular Elements
就是打包成自定义元素的 Angular 组件。所谓自定义元素就是一套与具体框架无关的用于定义新 HTML 元素的 Web 标准。
自定义元素这项特性目前受到了 Chrome、Opera 和 Safari 的支持,在其它浏览器中也能通过腻子脚本(参见浏览器支持)加以支持。 自定义元素扩展了 HTML,它允许你定义一个由 JavaScript 代码创建和控制的标签。
@angular/elements
包导出了一个 createCustomElement()
API,它在 Angular 组件接口与变更检测功能和内置 DOM API 之间建立了一个桥梁。
自定义元素会自举启动 —— 它们在添加到 DOM 中时就会自行启动自己,并在从 DOM 中移除时自行销毁自己。
Angular 提供了 createCustomElement()
函数,以支持把 Angular 组件及其依赖转换成自定义元素。该函数会收集该组件的 Observable 型属性,提供浏览器创建和销毁实例时所需的 Angular 功能,还会对变更进行检测并做出响应。 注册完这个配置好的类之后,你就可以在内容中像内置 HTML 元素一样使用这个新元素了,比如直接把它加到 DOM 中:
<my-popup message="Use Angular!"></my-popup>
一个简单的示例:
首先 定义angular element
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, Injector } from '@angular/core';
import { createCustomElement } from '@angular/elements';
import { HelloComponent } from './hello.component';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [],
entryComponents: [HelloComponent]
})
export class AppModule {
constructor(injector: Injector) {
const el = createCustomElement(HelloComponent, { injector });
customElements.define('el-hello', el);
}
ngDoBootstrap() {}
}
获得自定义元素后,我们使用该define 方法将其添加到自定义元素注册表中。然后我们可以在页面上包含应用程序,并通过将该元素添加到DOM来实例化该元素:
<el-hello></el-hello>
标签:简单的 功能 获得 ati 就是 cto safari 页面 class
原文地址:https://www.cnblogs.com/SLchuck/p/10449669.html