2014-07-29 3 views
0

В настоящее время у меня есть два массива объектов, сделанных в моем javascript. Первый массив с именем list1 имеет ключи с именем show и number, boolean и integer. Второй массив с именем list2 имеет ключ с номером, который принимает целое число.Функция AngularJS ng-disable в ng-repeat

В настоящее время у меня есть кнопка, которая добавит номер от list1 до list2, и я хочу отключить его, номер уже существует в list2.

Вот HTML отображается только повторение (мой контроллер переименован в список)

HTML

<li ng-repeat="item in list.list1> 
    <a href="#" 
     class="btn btn-info btn-large" 
     ng-disabled=!"item.show" 
     ng-click="list.addItem(id, $index)"> 

     Add 
    </a> 
</li> 

JS

this.addItem = function(id, index) 
{ 
    this.list1[index].show = false; 

    this.list2.push({number: id}) 
}; 

Я не уверен, почему мой код не работает, и это не первая реализация, которую я пробовал. Понравилось бы несколько советов о том, как это сделать правильно. Благодаря!

Извините за плохой начальный код, бессонные ночи не помогли мне отладить это.

+0

Что такое индекс в списке1 [index]? –

+0

Забыл включить $ index в функцию, обновленный код для отражения изменений – user3821516

+0

Является ли 'list' псевдоним для вашего контроллера? А что такое 'pmt'? – cfs

ответ

1

Из кода для addItem, похоже, каждая запись в list1 имеет свойство с именем show, а не массив, имеющий свойство с именем show. Если это так, то ваш якорь должен выглядеть примерно так:

<a href="#" class="btn btn-info btn-large" ng-disabled="!pmt.show" ng-click="list.addItem(id, $index)">Add</a> 

Кроме того, оператор ! должен находиться в пределах кавычек на ng-disabled.

+1

+1, хотя, думаю, могут возникнуть другие проблемы. Например. что такое list.pmt? Является ли addItem в службе и является ли ссылка повторной привязкой к правильной области? –

+0

О да, я пробовал это раньше, но я все еще не мог заставить его работать, это определенно то, что я хотел написать в своем вопросе. – user3821516

+0

Я думаю, что ваш правый @PhilSandler, похоже, здесь несколько проблем, а опубликованный код не дайте нам достаточно, чтобы действительно устранить эту проблему. – cfs

Смежные вопросы