我有一个这样声明的JS对象
$scope.items = {};
我还有一个$ http请求,该请求用项目填充此对象。我想检测该项目是否为空,看来ng-show支持此项目。我输入
ng-show="items"
而且它神奇地起作用了,我也想从控制器上做同样的事情,但是我似乎无法使它起作用,看来我可能不得不遍历该对象以查看它是否具有任何属性,或者使用lodash或下划线。
还有其他选择吗?
我确实尝试过
alert($scope.items == true);
但在创建对象并填充时$http,它始终返回false,因此它不能那样工作。
$http
此处无需使用空对象文字,您可以使用null或未定义:
$scope.items = null;
这样,ng-show应该继续工作,并且在您的控制器中您可以执行以下操作:
ng-show
if ($scope.items) { // items have value } else { // items is still null }
在$http回调中,执行以下操作:
$http.get(..., function(data) { $scope.items = { data: data, // other stuff }; });