簡體   English   中英

AngularJS + Requirejs錯誤與過濾器

[英]Angularjs + Requirejs error with filter

我試圖在我的視圖中添加帶有requirejs的angularjs過濾器,但收到錯誤消息:

錯誤:$ injector:unpr未知提供程序

http://docs.angularjs.org/error/$injector/unpr?p0=localizationFilterProvider%20%3C-%20localizationFilter

怎么了?

我的文件:

的index.html

<!DOCTYPE html>
<html>
    <head>
        <script data-main="/static/js/application/main" src="/static/js/libs/require.min.js"></script>
    </head>

    <body>
        <div class="page" ng-view></div>
    </body>
</html>

app.js

'use strict';                                                                                            

define(                                                                                                  
    [                                                                                                    
        'angularAMD',                                                                                    
        'angular-route',                                                                                 
        'angular-animate'                                                                                
    ],                                                                                                   
function (angularAMD) {                                                                                  

    var app = angular.module('FilmOrder', ['ngRoute', 'ngAnimate']);                                     

    app.config(['$routeProvider', function($routeProvider) {                                             

        $routeProvider                                                                                   
            .when('/',                                                                                   
                angularAMD.route({                                                                       
                    templateUrl: 'static/js/application/views/success.html',                             
                    controllerUrl: 'application/controllers/Success',                                    
                    controller: 'Success'                                                                
                })                                                                                       
            )                                                                                            

            .otherwise({redirectTo: '/'});                                                               
    }]);                                                                                                 

    angularAMD.bootstrap(app);                                                                           

    return app;                                                                                          
});             

main.js

require.config({

    baseUrl: "static/js",

    paths: {
        'angular':          'libs/angular.min',
        'angular-route':    'libs/angular-route.min',
        'angular-animate':  'libs/angular-animate.min',
        'angularAMD':       'libs/angularAMD.min'
    },

    shim: {
        'angularAMD': ['angular'],
        'angular-route': ['angular'],
        'angular-animate': ['angular']
    },

    deps: ['application/app']
});

意見/ success.html

<div class="success">
    <div class="success_head">
        {{"Пожалуйста, убедитесь в правильности указанных данных." | localization:'index'}}
    </div>
</div>

過濾器/ localization.js

'use strict'                                           

define(['application/app'], function (app) {           

    app.filter('localization', function () {              
        return 'test';                                       
    });                                                   
});        

控制器/ Success.js

define(                                                                                   
    [                                                                                     
        'application/app',                                                                
        'application/filters/localization',                                               
        'application/services/Application'                                                
    ],                                                                                    
    function (app) {                                                                      

    'use strict';                                                                            
    app.register.controller('Success', function ($scope) {                                            

        var Success = {};                                                                       
        $scope.Success = Success;                                                               
    });                                                                                      
});                                                                                       

引導后將調用您的過濾器,因此您應該改用app.register:

過濾器/ localization.js

define(['application/app'], function (app) {           
    'use strict'
    app.register.filter('localization', function () {              
        return 'test';                                       
    });                                                   
});

如果這樣做沒有幫助,請安裝塞子,我將嘗試進一步幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM