將Vue組件包裝爲本Web組件。css
因爲Angular支持使用自定義Web組件,所以可以使用Vue組件(包裝爲Web組件)。html
對於Angular,若是自定義Web組件是由Vue生成的,那麼它就沒有區別(對於全部Angular都知道,它們能夠是本機HTML元素)前端
這裏使用element-ui做爲組件導入angular使用vue
demo地址:https://stackblitz.com/edit/angular-nnbszr
git
index.htmlangularjs
app.module.tsgithub
如今,在angular裏,導入Web組件後(即他們Vue的產生與否),其配置爲使用加入schemas: [CUSTOM_ELEMENTS_SCHEMA]
你@NgModule
:web
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { AppComponent } from './app.component'; @NgModule({ imports: [ BrowserModule, FormsModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ], schemas: [ CUSTOM_ELEMENTS_SCHEMA // Added for custom elements support ] }) export class AppModule { }
app.component.htmlelement-ui
如今直接在Angular模板中使用Web組件(從Vue生成或不生成)。例如,上面代碼中定義的組件能夠像如下同樣使用:bootstrap
<h3>Hello, {{ name }}</h3> <p>In index.html, a Vue component is defined using Vue and is wrapped into a Web Component using vue-custom-element.<br> Now, in Angular's template, use it as if it were a native HTML Element (or regular native Web Component). </p> <my-vue-web-comp [msg]="name"></my-vue-web-comp>
有關更多詳細信息,請查看vue-custom-element
文檔。