Javascript AngularJS:由于服务的异步性质,函数的计算结果总是为false
我的模板看起来像Javascript AngularJS:由于服务的异步性质,函数的计算结果总是为false,javascript,angularjs,angularjs-scope,angularjs-service,Javascript,Angularjs,Angularjs Scope,Angularjs Service,我的模板看起来像 <div data-ng-if="budgetSummaryExists()"> <span>You have not budget</span> <button type="button" class="btn btn-danger" data-ng-click="setRoute('budgets')">Create Budget
<div data-ng-if="budgetSummaryExists()">
<span>You have not budget</span>
<button type="button" class="btn btn-danger"
data-ng-click="setRoute('budgets')">Create
Budget
</button>
</div>
<div data-ng-if="$scope.budgetSummaryExists">
<span>your budget summary exists</span>
</div>
function BudgetSummaryController($scope, $location, BudgetSummary) {
/* For default view when budgets is clicked */
$scope.thisMonthBudgetSummary = function () {
console.log('retrieving budget summary');
var date = new Date();
BudgetSummary.get({'month': date.getMonth() + 1, 'year': date.getFullYear()},
function (data) {
$scope.budgetSummary = data;
// success
console.log('budgetSummary:', data);
},
function (error) {
//error
console.log('error:', error.status);
})
;
};
$scope.budgetSummaryExists = function () {
return $scope.budgetSummary !== undefined;
}
问题-甚至在服务返回数据之前,
budgetSummaryExists()
的计算结果为false,我看不到DOM的其他部分
问题
如何确保函数
budgetSummaryExists()
仅在服务完成后从服务器获取数据时才进行计算?我的模板出错,这就解决了问题
<div data-ng-if="! budgetSummaryExists()">
<span>You have not budget</span>
<button type="button" class="btn btn-danger"
data-ng-click="setRoute('budgets')">Create
Budget
</button>
</div>
<div data-ng-if="budgetSummaryExists()">
<span>your budget summary exists</span>
</div>
你没有预算
创造
预算
您的预算摘要已存在