如何使用打字稿制作Angular服务?

Yozawiratama

我有一个使用typescript和AngularJS的服务代码,如下所示:

/// <reference path='../_all.ts' />

module bankApp {
    'use strict';

    export class MDCurrencyService implements IMDCurrencyService {
        httpService: ng.IHttpService;
        promise: ng.IPromise<void>;

        constructor($http: ng.IHttpService,
            $q : ng.IQService) {

            this.httpService = $http;
        }

        get(): MDCurrency[] {
            var promise = this.httpService.get('/Master/CurrencyGetAll').then(function (res) {
                return res.data;
            });
            return promise;
        }


        save(cur: MDCurrency) {
            this.httpService.post('/Master/CurrencySave', cur);

        }

        softDelete(id: string)
        { }

        hardDelete(id: string)
        { }




    }
}

我将像这样使用我的控制器:

this.currencies = $scope.currencies = mdCurrencyService.get();

如何使用打字稿制作角度服务$ http?我想要它,以便控制器中的this.currencies可以填充来自服务器的数据。

耶稣洛佩兹

该服务应如下所示。不要忘记在模块中注册服务:

export class MDCurrencyService implements IMDCurrencyService {
    constructor(private $http: ng.IHttpService, private $q : ng.IQService) {
    }

    get(): ng.IPromise<MDCurrency[]> {
        var deferred = this.$q.defer();
        this.$httpService.get('/Master/CurrencyGetAll').then(response => {
            deferred.resolve(response.data);
        }).catch( reason => {
            deferred.reject(reason);
        });
        return deferred.promise;
    }
}

angular.module("TheModule").service("mdCurrencyService", MDCurrencyService);

控制器应如下所示:

mdCurrencyService.get().then(currencies => {
   this.$scope = currencies;
}).catch( reason => {
   alert("something went wrong!");
});

编辑:

代码可以简化,不需要$ q服务:

export class MDCurrencyService implements IMDCurrencyService {
    constructor(private $http: ng.IHttpService) {
    }

    get(): ng.IPromise<MDCurrency[]> {          
        return this.$httpService.get('/Master/CurrencyGetAll')
                   .then(response => response.data);
    }
}

angular.module("TheModule").service("mdCurrencyService", MDCurrencyService);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在打字稿构造函数之外正确使用angular $ timeout服务?

来自分类Dev

如何使用打字稿处理Angular JS服务中的响应和错误

来自分类Dev

如何使Angular2在打字稿中使用eclipse

来自分类Dev

如何刷新令牌服务堆栈打字稿

来自分类Dev

在导入中使用服务方法的打字稿

来自分类Dev

如何在打字稿中使用用户制作的条件进行评估

来自分类Dev

如何将服务注入Angular 1.5组件(无打字稿)

来自分类Dev

如何将服务注入Angular 1.5组件(无打字稿)

来自分类Dev

使用Gulp构建Angular的打字稿

来自分类Dev

如何使用打字稿编写节点模块?

来自分类Dev

如何使用打字稿Q.when()

来自分类Dev

打字稿如何使用promise.allSettled?

来自分类Dev

如何使用打字稿编写marionettejs模块?

来自分类Dev

如何使用打字稿获取unixtime

来自分类Dev

打字稿如何使用promise.allSettled?

来自分类Dev

如何使用打字稿编写节点模块?

来自分类Dev

在Angular 2服务中创建打字稿方法

来自分类Dev

如何使用ionic 2 / angular 2和打字稿设置firebase

来自分类Dev

如何在angular2(打字稿)上将js库与jQuery一起使用?

来自分类Dev

如何使用打字稿检查Angular2版本

来自分类Dev

如何使用打字稿在gulp-angular-generator中定义指令

来自分类Dev

我如何使用Angular中的打字稿获取JSON中特定嵌套节点的数量?

来自分类Dev

我如何使用Angular中的打字稿获取JSON中特定嵌套节点的数量?

来自分类Dev

Angular 2 - 如何在打字稿中使用 FileReader 从给定的 URL 读取文件?

来自分类Dev

如何在打字稿中使用angular4隐藏导航选项卡

来自分类Dev

如何修复'debounceTime & distinctUntilChanged | 使用打字稿的 Angular 5 中的 RxJS 错误

来自分类Dev

打字稿打开文件对话框,无需使用输入元素即可从Angular服务上传文件

来自分类Dev

Angular 2 +打字稿或Angular 2 + Javascript,建议使用

来自分类Dev

Angular 2 +打字稿或Angular 2 + Javascript,建议使用

Related 相关文章

  1. 1

    我如何在打字稿构造函数之外正确使用angular $ timeout服务?

  2. 2

    如何使用打字稿处理Angular JS服务中的响应和错误

  3. 3

    如何使Angular2在打字稿中使用eclipse

  4. 4

    如何刷新令牌服务堆栈打字稿

  5. 5

    在导入中使用服务方法的打字稿

  6. 6

    如何在打字稿中使用用户制作的条件进行评估

  7. 7

    如何将服务注入Angular 1.5组件(无打字稿)

  8. 8

    如何将服务注入Angular 1.5组件(无打字稿)

  9. 9

    使用Gulp构建Angular的打字稿

  10. 10

    如何使用打字稿编写节点模块?

  11. 11

    如何使用打字稿Q.when()

  12. 12

    打字稿如何使用promise.allSettled?

  13. 13

    如何使用打字稿编写marionettejs模块?

  14. 14

    如何使用打字稿获取unixtime

  15. 15

    打字稿如何使用promise.allSettled?

  16. 16

    如何使用打字稿编写节点模块?

  17. 17

    在Angular 2服务中创建打字稿方法

  18. 18

    如何使用ionic 2 / angular 2和打字稿设置firebase

  19. 19

    如何在angular2(打字稿)上将js库与jQuery一起使用?

  20. 20

    如何使用打字稿检查Angular2版本

  21. 21

    如何使用打字稿在gulp-angular-generator中定义指令

  22. 22

    我如何使用Angular中的打字稿获取JSON中特定嵌套节点的数量?

  23. 23

    我如何使用Angular中的打字稿获取JSON中特定嵌套节点的数量?

  24. 24

    Angular 2 - 如何在打字稿中使用 FileReader 从给定的 URL 读取文件?

  25. 25

    如何在打字稿中使用angular4隐藏导航选项卡

  26. 26

    如何修复'debounceTime & distinctUntilChanged | 使用打字稿的 Angular 5 中的 RxJS 错误

  27. 27

    打字稿打开文件对话框,无需使用输入元素即可从Angular服务上传文件

  28. 28

    Angular 2 +打字稿或Angular 2 + Javascript,建议使用

  29. 29

    Angular 2 +打字稿或Angular 2 + Javascript,建议使用

热门标签

归档