AngularJS Filter thr" Object Uncaught"注入时出错

时间:2014-07-07 21:48:38

标签: javascript angularjs angular-filters

当我尝试向我的Serenity应用程序添加一组过滤器(https://github.com/jfox015/Serenity)时,在尝试将过滤器注入我的应用程序时出现“未捕获的对象”错误。当我从应用程序中删除过滤器代码时,它工作正常。无法弄清楚过滤器有什么问题,因此它们不会被识别为有效资源。我将它们作为全局模块的一部分,然后是一个单独的模块,它仍然失败。

以下是相关代码:

过滤存储在 app / src / admin / AdminFilters.js 中的代码:

'use strict';

angular.module('AdminFilters', ['USER_ROLES'])
.filter('userRoleFilter', ['USER_ROLES',
    function(USER_ROLES) {
        return function(input) {
            return USER_ROLES[input];
        };
    }
])
.filter('dateJoinedFilter', 
    function() {
        return function(input) {
            var date = new Date(input);
            return (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear();
        };
    }
)
;

app / src / app.js 中的Angular App声明:

var angApp = angular.module("serenityApp", ['ngRoute', 'ngResource', 'angular-md5', 'AdminFilters'])

app / src / admin / adminUsersList.html 中我的管理代码(Abridged)中的用法:

<tbody>
    <tr  data-ng-if="users" data-ng-repeat="user in users">
       <td>{{ user.name }}</td>
       <td>{{ user.role | userRoleFilter }}</td>
       <td>{{ user.dateJoined | dateJoinedFilter }}</td>
       <td>{{ user.group }}</td>
    </tr>
    <tr data-ng-if="!users">
        <td colspan="4">No users were found.</td>
    </tr>
</tbody>

相关的JS文件也包含在 index.html 文件中:

<script src="app/src/admin/AdminFilters.js" type="text/javascript"></script>
<script src="app/src/admin/AdminServices.js" type="text/javascript"></script>
<script src="app/src/admin/AdminController.js" type="text/javascript"></script>

1 个答案:

答案 0 :(得分:1)

AdminFilters中的USER_ROLES,模块还是常量?

如果它是属于另一个模块的常量,那么我认为它不能在AdminFilters模块中注入。