AngularJS过滤器在js文件声明中

时间:2017-04-21 10:12:23

标签: javascript angularjs

我想知道从js中使用它来声明过滤器的最佳方法是什么。

我的app.js看起来像这样:

(function () {
    angular.module('kk', [
        'lib1',
        'lib2',
        'lib3'
    ])
})();

我在一些网页中看到它声称它附加到angular.module(...).filter('filterName', function()...)但是,如何从js文件中“注入”?

我一直在尝试:

.filter('filterName', 'path/to/customFilter.js');

但它不起作用。有什么想法吗?

感谢。

使用解决方案进行编辑

使用@Torben方法并使其更清晰,我的解决方案(以防任何人):

  1. 将引用引入index.html <script src="path/to/CustomFilter.js"></script>
  2. 让app.js保持原样,没有任何过滤器参考
  3. 创建代码CustomFilter.js
  4. 在filterName.js angular.module('kk').filter('customFilter', CustomFilter.js);
  5. CustomerFilter.js的示例

    (function () {
        'use strict';
    
        function CustomFilter() {
            return function(input) {
                return something;
            };
        };
        angular.module('kk').filter('customFilter', CustomFilter);
    })();
    

    使用示例

    <div>{{ input | customFilter }}</div>
    

1 个答案:

答案 0 :(得分:1)

在HTML文件中写

<script src="path/to/customFilter.js'"></script>

然后它被包括在内。您的customFilter.js应以

开头
angular.module(...).filter('filterName', function()...)

正如您已经提到的那样。