【问题标题】:ng-if or ng-show stops array push to ng-repeatng-if 或 ng-show 停止将数组推送到 ng-repeat
【发布时间】:2016-06-07 15:30:20
【问题描述】:

我有一个 Angular 通讯录。它的一侧是姓名和头衔列表,另一侧是完整的简历。简历的一个特点是您可以让某人成为主要联系人。选中该框会在列表中突出显示它。我通过使用布尔值更新联系人对象然后首先使用 ng-if 来做到这一点,但现在我正在尝试使用 ng-show。它的工作原理是,如果我尝试添加一个新联系人,它将被添加到联系人数组中,但不会显示在列表中。这是由于与我使用 ng-if/ng-show 的方式存在某种冲突。我尝试将 $apply() 添加到组合中,但它无法正常工作。我想知道是否有人遇到过这个问题或有更好的解决方案。

这是中继器:

    <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: "john.doe@corona.com",
                    phone: "123-456-7890",
                    address: "1234 Market Street, Anytown, MA, 02143",
                    mainContact: false
                    }

我试图减少我在这里显示的代码量,但如果有人希望我发布更多或实际创建一个 codepen,我可以这样做。

【问题讨论】:

  • 我认为在这种情况下使用 ng-class 会更好
  • 是的,我也想过 ng-class,但我不确定如何使用 contact.mainContact === 主动表达式来实现它。它在这个时期窒息。
  • 如何过滤搜索结果? |过滤器:查询
  • ng-class="{'some-class':contact.mainContact}"
  • @erolkaya84 使用这个:

标签: javascript angularjs angular-ng-if angularjs-ng-show


【解决方案1】:

对 E. Abrakov 赞不绝口。 Ng-Class 是最好的解决方案。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多