我有两个函数getCharacterInfo(callback)和apply()。我在getCharacterInfo中调用apply()作为回调,但是应用(回调)比它应该更早地触发(至少从我从代码中可以看出来)
这是我的代码:
getCharacterInfo(回调)
$scope.apply = function() {
$scope.newApplication.charName = $scope.charInfo.name;
$scope.newApplication.realm = $scope.charInfo.realm;
$scope.newApplication.armoryLink = 'http://eu.battle.net/wow/en/character/'+ $scope.charInfo.realm + '/'+ $scope.charInfo.name +'/advanced'
console.log($scope.newApplication)
applicationsService.save($scope.newApplication, function(){
$scope.applications = applicationsService.query();
$scope.newApplication = null;
});
};
应用()
<form ng-Submit="getCharacterInfo(apply())">
函数调用是从HTML提交表单
进行的observeOn
我得到的错误是在apply()中,控制台告诉我$ scope.charInfo是未定义的。从来没有触发过characterInfo中的console.log(),我认为它们应该是什么?
我错了什么?
答案 0 :(得分:2)
传递apply
参数,不带括号:
<form ng-submit="getCharacterInfo(apply)">
否则,首先执行函数apply
,然后将其结果传递给getCharacterInfo
函数。