Tôi có một đối tượng đơn giản trong bộ điều khiển đôi khi có thể trống ({}
).Kiểm tra nếu đối tượng là một đối tượng trống trong mẫu AngularJS
app.controller('TestController', function() {
var vm = this;
vm.testObject = {};
});
Tôi muốn ẩn hoặc hiển thị một số phần tử DOM trong mẫu tương ứng khi đối tượng trống hoặc không.
Tôi đã cố gắng làm điều đó với một đơn giản <div ng-if="vm.testObject">
nhưng khi vm.testObject === {}
nó được coi là true
trong ng-if
.
<div ng-controller="TestController as vm">
<div ng-if="vm.testObject">
Test Object is not empty
</div>
<div ng-if="!vm.testObject">
Test Object is empty
</div>
</div>
Có cách nào đơn giản để kiểm tra đối tượng trống trong mẫu không? Tốt hơn là không thêm các biến mới vào phạm vi.
Đây là một Plunker làm việc: http://plnkr.co/edit/Qed2MKmuedcktGGqUNi0?p=preview
Làm thế nào về một hàm, ví dụ: 'vm.isEmpty = function (obj) {return Object.keys (obj) .length === 0; } '. Sau đó, bạn có thể sử dụng 'ng-if =" vm.isEmpty (vm.testObject) "' – Phil