angularjs模块ID不起作用

时间:2014-01-24 17:53:12

标签: javascript angularjs

为什么我不能注入这个dep?它抛出一个错误:“帮助程序提供程序找不到”

代码:

'use strict';
angular.module('test',[])
.factory('helper',function () {
    return {
        luckier: function () {
            alert('you');
        }
    };
});
var cardpage = angular.module('card',['test'],function (helper,$interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});
var initModel = function () {
    return {
        cardName: 'x', 
        cardColor: 'x', 
        cardBg: 'x',
        cardLogo: 'x',
        cardFontColor: 'x',
        cardChargetPass: 'x'
    };  
};

cardpage.controller('cardCtrl',function (helper,$scope) {
    $scope.model = initModel();
    helper.luckier();
    $scope.color = '';
});

1 个答案:

答案 0 :(得分:0)

您无法将功能传递给angular.module。您可能正在寻找配置功能或运行块。但是,除了提供程序和常量之外,您不能向配置块中注入任何内容。您可以尝试:

angular.module('card',['test']).config(function($interpolateProvider){
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
})
.run(function(helper){
   //first place a factory,or service can be injected.       
});

另请参阅documentationhere