ng-if или ng-show останавливает передачу массива в ng-repeat

0

У меня есть Угловая адресная книга. Он имеет список имен и названий с одной стороны и полную биографию с другой. Одна из особенностей биографии заключается в том, что вы можете сделать кого-то основным контактом. Проверка этого поля подчеркивает его в списке. Я делаю это, обновляя контактный объект булевым, а затем сначала использую ng-if, но теперь я пытаюсь использовать ng-show. Он работает, за исключением того, что если я попытаюсь добавить новый контакт, он будет добавлен в массив контактов, но не будет отображаться в списке. Это связано с каким-то конфликтом с тем, как я использую ng-if/ng-show. Я попробовал добавить $ mix() в микс, но это не сработало. Мне интересно, если кто-нибудь когда-либо сталкивался с этим или имеет лучшее решение.

Это повторитель:

    <div class="contactsDetails">
    <div class="col-md-3 col-md-offset-2 contactList">
        <table class="table table-striped">
            <tr>
                <th>Name</th>
                <th>Title</th>
            </tr>
            <tr ng-repeat="contact in contacts | orderBy: 'name' | filter: query" ng-click="viewContact(contact)">
                <td ng-show="contact.mainContact === true" style="font-weight: bold; background: aliceblue">{{contact.name}}</td>
                <td ng-show="contact.mainContact === true" style="font-weight: bold; background: aliceblue">{{contact.title}}</td>

                <td ng-show="contact.mainContact === false">{{contact.name}}</td>
                <td ng-show="contact.mainContact === false">{{contact.title}}</td>
            </tr>
        </table>
    </div>

Это образец контактного объекта:

                    {
                    name: "John Doe",
                    title: "Lawyer",
                    company: "Corona",
                    email: "[email protected]",
                    phone: "123-456-7890",
                    address: "1234 Market Street, Anytown, MA, 02143",
                    mainContact: false
                    }

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

  • 1
    Я думаю, что лучше использовать NG-класс для этого случая
  • 0
    Да, я тоже думал о ng-классе, но я не уверен, как реализовать его с помощью активного выражения contact.mainContact ===. Это задыхается от периода.
Показать ещё 3 комментария
Теги:
angular-ng-if
angularjs-ng-show

1 ответ

0

Вся похвала Э. Абракову. Ng-Class - лучшее решение. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню