Приветствую!
Имеется объект данных для формироваться select-тега через angular.
{
"78-1":{
"ID":"78-1",
"name":"Group 1: №1",
"buyed":false,
"disable":false
},
...
}
Формируется html объект из этого шаблона (used controlerAs):
<select ng-model="row.ID" ng-options="row_item.ID as row_item.name disable when row_item.disable for row_item in app.data.rows | filter:rowDisabled" class="form-control"></select>
В котроллере есть функция, по которой должны фильтроваться данные селекта и определенным пунктам устанавливаться row_item.disable = true.
BilCtrl.rowDisabled = function() {
return function (rows) {
var result = {};
angular.forEach(rows, function(row, key) {
row.disable = false;
if( row_item.buyed )
row.disable = true;
for( var i in BilCtrl.rows ){
if (!BilCtrl.rows.hasOwnProperty(i))
continue
if( BilCtrl.rows[i].ID == row.ID )
row.disable = true;
}
result[key] = row;
});
return result;
};
};
Но эта прелесть выдает мне ошибку:
Error: [filter:notarray]
Я так и не смог применить фильтр. Неужели для объектов нельзя применять фильтры? Только массивы? В примере у них ведь используется для объекта...