将ng-if用于空对象

时间:2017-12-24 12:40:42

标签: javascript angularjs

是否根据条件禁用按钮。  我最初得到空对象所以我需要禁用下面的按钮是我的代码:

<button class="btn-reg btn btn-primary" title="Create Book from Collection"
        ng-click="scenariosViewAll.saveBookData();" 
        ng-disabled="scenariosViewAll.collectionBookObject == {}">Create Book from Collection
</button>

vm.collectionBookObject in controller

如果我控制我得到的对象: {}所以我使用上述条件。

1 个答案:

答案 0 :(得分:0)

scenariosViewAll.collectionBookObject == {}将始终为false,因为javascipt中的对象通过引用进行比较。

你需要更聪明地发挥它。

您的对象scenariosViewAll.collectionBookObject可以初始化为空值。这样,您的条件就是ng-disabled="!scenariosViewAll.collectionBookObject"

如果出于任何原因,您无法将对象初始化为空值,则可以检查对象中是否有密钥:ng-disabled="!Object.keys(scenariosViewAll.collectionBookObject).length"