我已经从github存储库https://github.com/bendrucker/angular-credit-cards修改了plunkr示例plnkr。我遇到的问题是,我不知道如何让函数的第二个参数(信用卡)为null以外的任何东西。我相信我用的是正确的,但显然有些地方错了。
plnkr: http://plnkr.co/edit/YHbbluTtB1Fd2d3lChL8?p=preview
angular.module('ccDemoApp', ['credit-cards'])
.controller('SettingsController2', ['$scope', SettingsController2]);
function SettingsController2($scope,creditcards) {
if (creditcards){
alert('creditcards defined');
} else {
alert('creditcards not defined. problem')
}
}
根据文档,要么使用模块,要么包含代码,然后引用模块名。我没有看到你在任何地方包括代码,所以信用卡是空的。
//为了方便,node模块导出字符串'angular-credit-cards'角。模块("myApp",要求("angular-credit-cards")]);//否则,先包含代码,再包含模块名角。模块("myApp","信用卡"]);
问题在于控制器的声明。您正在使用注入数组,但忘记将依赖项名称作为字符串包含在内。应该是
.controller('SettingsController2', ['$scope', 'creditcards', SettingsController2]);
我不鼓励人们使用这种语法,因为它容易出现这样的错误,并且在阅读时不清晰。如果你已经在使用缩小功能你可以使用ngAnnotate