0

次の問題があります。次のコードは JS で機能します。

Application1.Trackers = function (params) {

var viewModel = {
    dsTrackers: new DevExpress.data.DataSource({
        store: Application1.db,
        searchExpr: "Bezeichnung"
    }),

    searchString: ko.observable(''),
    find: function () {
        viewModel.showSearch(!viewModel.showSearch());
        viewModel.searchString('');
    },
    showSearch: ko.observable(false),
};

ko.computed(function () {
    return viewModel.searchString();
}).extend({
    throttle: 500
}).subscribe(function (value) {
    viewModel.dsTrackers.filter("Bezeichnung", "contains", value);
    viewModel.dsTrackers.pageIndex(0);
    viewModel.dsTrackers.load();
});

return viewModel;

};

Typescript では、この方法で試しましたが、うまくいきません:

module MyExtremeApp {
export function Trackers(params: { id: any }) {
    return {
        dsTrackers: new DevExpress.data.DataSource({
            store: MyGlobals.oTrackerManager.getTrackerCustomStore(),
            searchExpr: "Bezeichnung"
        }),

        searchString: ko.observable(''),
        find: function () {
            this.showSearch(!this.showSearch());
            this.searchString('');
        },
        showSearch: ko.observable(false),
    };

    ko.computed(() => {
        return this.searchString();
    }).extend({
        throttle: 500
    }).subscribe(function (value) {
        this.dsTrackers.filter("Bezeichnung", "contains", value);
        this.dsTrackers.pageIndex(0);
        this.dsTrackers.load();
    });
}

}

ko.computed() にジャンプすることはありません。誰かが理由を知っていますか? 私はタイプスクリプトが初めてです

どうもありがとうございました。よろしくお願いします

4

1 に答える 1