AngularJS:由于服务的异步性质,函数的计算结果总是为false
AngularJS: function always evaluates to false because of Async nature of 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
</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>
相关文章:
- Tracker重新计算函数出现异常:无法读取属性'0'的未定义
- 作为参数传递时如何计算函数
- Javascript-修改函数或从字符串中计算函数
- 为什么我的数据绑定到一个计算函数不起作用(使用knockout.js和jade)
- 自定义计算函数煎茶触摸
- viewModel 使用挖空.js在原型上计算函数
- JavaScript 挑战:使用递归创建一个平均计算函数
- Knockout 计算函数内的异步调用
- Javascript 计算函数不返回值
- 如何在计算函数后弹出提示
- Ko.计算函数更新两次
- 如何将参数传递给 Knockout 中的计算函数
- 如何防止 JavaScript 计算函数参数
- AngularJS计算函数中的字符串,以调用json列表上的属性
- 是否可以在RactiveJS中具有计算函数
- Javascript计算函数-不在html中计算
- 模板化`<中的自定义计算函数;模板>`
- 谷歌表格图表:编写了一个计算函数,添加了以前点击的单元格,而不是当前的单元格
- 奇怪的流星错误:[Log]Deps重新计算函数异常:NotFoundError:DOM异常8
- 在将函数转换为字符串之前计算函数中的变量