AngularJS过滤器抛出"对象未捕获"注入时出错

AngularJS Filter throwing "Object Uncaught" error when injected

本文关键字:quot 注入 出错 过滤器 AngularJS 对象      更新时间:2023-09-26

当尝试添加一组过滤器到我的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应用声明:
var angApp = angular.module("serenityApp", ['ngRoute', 'ngResource', 'angular-md5', 'AdminFilters'])

app/src/Admin/adminUsersList.html:

中的使用
<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>

USER_ROLES在AdminFilters中是一个模块还是常量?

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