2016-01-05 2 views
1

Я выполняю миграцию проекта до Angular2 w/Typcript, который ранее был написан в KnockoutJS. Это оказалось довольно громоздким, поэтому я хотел бы просто повторно использовать некоторые из компонентов, которые я написал с KO внутри своих Angular2, но я не могу найти пример, если это возможно.Повторное использование компонента knockoutJS 2 в компоненте TS с угловым 2

Мой код будет выглядеть примерно следующим образом:

myKOComponent.js

returns {viewModel: myViewModel, template:myTemplate} 

myAngularComponent.ts

//Here I want to import myKOComponent which there are 2 things I am unsure about 
  1. Как импортировать компонент, а затем ссылаться на объект возвращается.

  2. Шаблон, который я использовал, является родительским (т.е. myAngularComponent), который добавит шаблон к элементу, а затем вызовет ko.applyBinding (новый myViewModel, myTemplate), возможно ли это?

Благодарю вас за ваше время!

+0

Угловые 2 автоматически интегрируются с Knockout. Любой обработчик кликов или обработчик событий DOM вызовет обновление углового вида. Вы столкнулись с определенной трудностью? –

+0

Его здорово слышать, как он должен интегрироваться. Мой вопрос связан с фактической реализацией интеграции, я не уверен, как вы должны это делать. IE Как импортировать компонент KO в угловой компонент и использовать его. Благодаря! – cjr

+0

У меня такая же проблема. КАК объявить операцию импорта для нокаута или другого третьего участника js, который я устанавливаю для npm. – Warner

ответ

0

Это не то, что я на самом деле пытался, но, возможно, что-то подобное будет работать

import {Component, OnInit} from 'angular/core'; 
import {MyViewModel} from './some-location'; 

declare var ko:any; 

@Component{...} 

export class MyComponent implements OnInit { 

    ngOnInit() { 
     ko.applyBindings(new MyViewModel()); 
    } 
} 
+0

И как вы импортируете нокаут TGH? – iberodev

+0

Это будет 'import * как ko из 'нокаута';' – iberodev