Kylo UI - Создать новый модуль машинописи
У меня есть сомнения по поводу того, как работать с Kylo и структурой пользовательского интерфейса.
Согласно сайту http://kylo.readthedocs.io/en/v0.8.3/developer-guides/KyloDeveloperGuide.html?highlight=angular2 говорится:
Большая часть пользовательского интерфейса Kylo зависит от AngularJS и AngularJS Material, но некоторые части были обновлены до Angular 2 и Covalent. Новые плагины должны быть написаны на Typescript и использовать Angular 2 для будущей совместимости.
В нем говорится, что новые плагины должны быть написаны на angular2 и typcript, но все примеры и основные компоненты написаны на AngularJS.
Вот один пример: https://github.com/Teradata/kylo/tree/master/samples/plugins/example-module/example-module-ui
Я хотел бы знать альтернативу Typescript и Angular2 для этого модуля, включая маршрутизацию, есть ли живой пример?
1 ответ
Я проверял, что Angular 2 действительно работает, если код добавляется непосредственно в проект kylo-ui-app, но я не думаю, что система плагинов Kylo сейчас поддерживает Angular 2.
Единственное отличие от стандартного Angular 2 состоит в том, что Kylo использует UI-Router вместо Angular Router, но синтаксис очень похож. По памяти я думаю, что это шаги, которые я использовал:
1) Добавить новый маршрут к route.js:
{
name: 'contacts.**',
url: '/contacts',
loadChildren: './contacts/contacts.module#ContactsModule'
}
2) Добавьте дочерние состояния в ваш модуль:
@NgModule({
imports: [ UIRouterModule.forChild({ states: CONTACTS_STATES }), /* ... and any other modules */ ],
declarations: [ ContactComponent, /* ... and any other components */ ],
providers: [ ContactsDataService ],
})
export class ContactsModule { }
3) Компонент для каждого состояния должен быть указан в views.content:
{
name: 'contacts',
url: '/contacts',
views: {
"content": {
component: ContactsComponent,
}
}
}