嗨我必须禁用按钮,如果我得到scenarioViewAll.collectionBookObject = {}数组,为此我使用函数返回下面是我的代码:
<button" ng-disabled="scenariosViewAll.isSetDisable(scenariosViewAll.collectionBookObject)">Create Book from Collection</button>
在控制器中我的代码是:
function isSetDisable(obj) {
return typeof(obj === 'Object') && Object.keys(obj).length === 0 ? true : false;
}
如下所示获得控制台错误并且它正常工作,我的代码中有任何错误。
lib.min.js:3762 TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at scenariosViewAllController.isSetDisable (app.min.js:29729)
at fn (eval at compile (lib.min.js:3876), <anonymous>:4:415)
at m.$digest (lib.min.js:3787)
at m.$apply (lib.min.js:3790)
at lib.min.js:3803
at e (lib.min.js:3690)
at lib.min.js:3693
答案 0 :(得分:1)
您应该更改Object
条件并添加额外条件以处理可能的null
值;
function isSetDisable(obj) {
return obj != null && typeof(obj) == typeof({}) && Object.keys(obj).length === 0 ? true : false;
}
答案 1 :(得分:0)
function isSetDisable(obj) {
return typeof(obj) === 'object' && Object.keys(obj).length === 0 ? true : false;
}