Angularjs 角种子,函数变量从哪里来?
在github上使用Firebase和AngularFire形成了Firebase团队,我正在努力了解其工作原理。下面的示例如下所示:Angularjs 角种子,函数变量从哪里来?,angularjs,Angularjs,在github上使用Firebase和AngularFire形成了Firebase团队,我正在努力了解其工作原理。下面的示例如下所示: <form> <label> <span>email</span> <input type="text" ng-model="email" /> </label> <label> <span>
<form>
<label>
<span>email</span>
<input type="text" ng-model="email" />
</label>
<label>
<span>password</span>
<input type="password" ng-model="pass" />
</label>
<label ng-cloak ng-show="createMode">
<span>confirm pass</span>
<input type="password" ng-model="confirm" />
</label>
<button ng-click="login()" ng-hide="createMode">Log In</button>
<button ng-click="createMode = true" ng-hide="createMode">Register</button>
<button ng-cloak ng-show="createMode" ng-click="createAccount()">Create Account</button>
<button ng-cloak ng-show="createMode" ng-click="createMode = false">Cancel</button>
<p ng-show="err" class="error">{{err}}</p>
</form>
$scope.login = function(cb) {
$scope.err = null;
if( !$scope.email ) {
$scope.err = 'Please enter an email address';
}
else if( !$scope.pass ) {
$scope.err = 'Please enter a password';
}
else {
loginService.login($scope.email, $scope.pass, function(err, user) {
$scope.err = err? err + '' : null;
if( !err ) {
cb && cb(user);
}
});
}
视图按如下方式调用登录函数:
login()
,但在控制器中,函数定义按如下方式启动:$scope.login=function(cb)
,然后在函数中使用cb
。但是函数从不使用任何变量/对象调用,因此cb
在这里发生了什么?从模板调用login
函数时不使用该参数,但是如果查看控制器中的$scope.createAccount
函数定义,它将调用相同的$scope.login
函数,但是使用已定义的回调参数从模板调用函数时不使用该参数,但是如果您查看控制器中的$scope.createAccount
,它将调用$scope.login
并使用callbackAha,现在我更了解:)现在我在cb&cb(用户)行中了解了这一点
第一个cb的目的是验证它是否存在。cb是callback的缩写。。。你能不能给我一个我能接受的答案?