knockout.js - چگونه در TypeScript به تغییرات Observable در Knockout مشترک شویم؟


چگونه در TypeScript به تغییرات Observable در Knockout مشترک شویم؟

Data :Knockoutobservable<string> = ko.Observable<string>();

من چیزی شبیه به این نیاز دارم:

Data.subscribe(function(e){})??

پاسخ شماره ۱

تایپ اسکریپت فقط راهی برای نوشتن جاوااسکریپت شما است. این هیچ تفاوتی برای ناکاوت ایجاد نمیکند.

پس، شما میتوانید اشتراک خود را به روش زیر بنویسید (دقیقاً مانند جاوااسکریپت)

Data.subscribe(function(newValue) {
    alert(newValue);
});

پاسخ شماره ۲

این تایپاسکریپت...

class Car {
    data:KnockoutObservable<string>;

    constructor(data: string) {
        this.data = ko.observable(data);
        this.data.subscribe((newData) => {
            alert("My data changed to: " + newData);
        });
    }
}

با اجرای کامپایل به جاوااسکریپت زیر تبدیل خواهد شد...

var Car = (function () {
    function Car(data) {
        this.data = ko.observable(data);
        this.data.subscribe(function (newData) {
            alert("My data changed to: " + newData);
        });
    }
    return Car;
})();