2015-06-22 3 views
2

Я пытаюсь следовать примеру, чтобы создать компонент в нокауте.Как объявить компонент нокаута в машинописном тексте?

http://knockoutjs.com/documentation/component-overview.html

Но я должен написать код в машинописи. Итак, как я могу зарегистрировать компонент в нокауте с помощью машинописного текста?

Что нужно написать в файле .ts, чтобы преобразовать его в нечто вроде ниже.

ko.components.register('like-widget', { 
viewModel: function(params) { 

Я начал писать код в конструкторе, но не знаю, как его завершить.

class TodayViewModel { 
todayWidget: KnockoutComponents; 
config: KnockoutComponentTypes.Config; 
constructor() { 
    this.config.template = "sdfs.html"; 
    this.todayWidget.register("like-widget", this.config); 
}}export = TodayViewModel; 

ответ

4

Попробуйте использовать этот подход:

// import knockout 
import ko = require("knockout"); 

// your viewmodel class 
class TodayViewModel { 
    todayText = ko.observable<string>(); 
} 


// register the component 
ko.components.register("like-widget", { 
    viewModel: TodayViewModel, 
    template: "<span data-bind='text: todayText'></span>" 
}); 

P.S. вам понадобится knockout.TypeScript.DefinitelyTyped

Смежные вопросы