有人可以解釋我爲什麼不能在我的console.log()
'use strict';
angular.module('angularDjangoRegistrationAuthApp')
.controller('TweatCtrl', function ($scope, $location, djangoAuth, djangoTweat, $routeParams) {
$scope.tweek = function(){
console.log(' tweek ');
};
djangoAuth.profile().then(function(data){
$scope.user = data;
$scope.pk = data.pk;
});
djangoTweat.getUserTweeks(1)
.then(function(data){
$scope.tweeks = data
},function(data){
// error case
$scope.errors = 'no tweeks';
});
console.log($scope);
console.log($scope.pk);
最前一頁console.log()
返回我有PK值的範圍對象得到$scope.pk
值。 第二console.log()
返回 '未定義' :(
這是一個正確的假設,它通過承諾完成它的方式是正確的 它應該被包裝在$ timeout或_中。 deffer – IamStalker
在承諾和異步函數中使用$ timeout不是很好的做法。雖然它可能有效,但取決於您設定的延遲時間,並不保證在您的承諾恢復後激活。關於'_.defer()',這意味着你將承諾包裝在承諾中,這有點多餘。 –
@IamStalker,你指的是「它」?請更具體一些。 – lyjackal