[AngularJS]AngularJS 使用角模块的自定义服务

发布时间: 2017/4/16 21:11:10
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个自定义的服务,在这项服务需要使用 MD5 函数,函数是在模块中的 MD5 生成令牌,angular-md5

这里是我的服务代码, generate_token 函数使用 md5.createhash() 从角模块但我得到 ths 错误︰TypeError: Cannot read property 'createHash' of undefined

我认为已经错了东西,但我看不到什么

angular.module('app.services', ['angular-md5'])

.service('Auth', [function($scope, md5){
    var self = this;

    this.rand_alphanumeric = function() {
        var subsets = [];
        subsets[0] = [48, 57]; // ascii digits
        subsets[1] = [65, 90]; // ascii uppercase English letters
        subsets[2] = [97, 122]; // ascii lowercase English letters 

        // random choice between lowercase, uppercase, and digits
        s = Math.floor(Math.random() * 2) + 0
        ascii_code = Math.floor(Math.random() * (subsets[s][1] - subsets[s][0] + 1) + subsets[s][0]);
        return String.fromCharCode(ascii_code);
    }

    this.generateToken = function() {
        var str = "";
        for (var i = 0; i < 8; i++) 
            str += self.rand_alphanumeric();
        return md5.createHash(str);
    }
}]);

解决方法 1:

你也不会正确使用依赖数组注入

试试这个

angular.module('app.services', ['angular-md5'])

.service('Auth', ['$scope','md5',function($scope, md5){
var self = this;
官方微信
官方QQ群
31647020