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,
    }
  }
}
Другие вопросы по тегам