如何在AngularJs 1.5中的打字稿中注入MONMJS



我想在我的打字稿代码中注入Momentjs库以对日期对象进行操作。但是我不熟悉通过AngularJS注射打字稿,因为它与JavaScript没有什么不同。

angular.module("app")
       .config(function ($mdDateLocaleProvider) {
            $mdDateLocaleProvider.formatDate = function (date) {
                return moment(date).format('YYYY-MM-DD');
            };
        });

在上面的代码中,即使我包括cdn。

moment函数也无法识别。

1- 使用软件包管理器安装矩(例如NPM)

2- 在您的入口点应用程序中引用它:

<script src="node_modules/moment/moment.js"></script>

3 - 创建一个常数引用时刻,因为它可以用作服务(不要忘记导入它):

import moment = require('moment');
angular.module("app").constant("moment", moment);

4- 您现在应该能够在Angular Run函数中配置MOMM:

angular.run(["moment", function(moment) { moment.locale("fr")}]);

并在控制器中使用它,同时仍使用依赖注入。

提示 - 使用TypeScript您应该使用类似类创建应用程序(即使Typescript只是JavaScript的超集):

class MyController implements ng.IController {
    static $inject: string[] : ["moment"];
    constructor(
        private moment) {}
    $onInit = function () {
        // do something with moment
        let date =  this.moment();        
    }
}

让我知道它是否有帮助。

在您的页面中添加所有必要的MOMM.JS脚本后。

使用它并尝试

angular.module("app")
.config(function ($mdDateLocaleProvider, moment) {
    $mdDateLocaleProvider.formatDate = function (date) {
        return moment(date).format('YYYY-MM-DD');
    };
});

您忘了在配置回调中添加矩。您必须在添加$ mddatelecaleprovider时添加配置回调中的时刻。

有一个更受欢迎的角矩。您可以看到角矩记录的步骤。https://github.com/urish/angular-moment

让我知道是否需要其他任何东西

相关内容

  • 没有找到相关文章

最新更新