试图更好地理解ng-if

时间:2015-11-29 15:12:19

标签: angularjs angular-ng-if

如果您看一下我下面的小代码片段,我尝试做的事情应该非常明显......并非每条记录都有这个字段,所以在那些字段上我不想隐藏它和标签。我在这里没有用。

        <table id="tablepress-1" class="tablepress tablepress-id-1" ng-repeat="agent in vm.agents | orderBy: 'id'" border="0">
        <tbody class="row-hover">
            <tr class="row-1 odd">
                <td class="column-1"><a href="http://larosacre.com/?page_id=1121"><img src="images\{{agent.image}}" alt="" class="aligncenter size-thumbnail wp-image-1116" data-recalc-dims="1" /></a></td>
                <td class="column-2">
                    {{agent.name}}<br />
                    Phone: {{agent.phone}}<br />
                    <p ng-if="{{agent.email}} != ''">E-Mail: {{agent.email}}</p><br />
                    {{agent.bio}}
                </td>
            </tr>
        </tbody>
    </table>

我该如何处理?

谢谢,

新手

1 个答案:

答案 0 :(得分:3)

通过在当前范围中进行评估, ngIf 指令的内容将被解释为。也就是说,你需要(事实上,你实际上还没有)在这里使用{{...}}标记。

即,只需使用:

<p ng-if="agent.email != ''">E-Mail: {{agent.email}}</p>

......会创造奇迹。虽然,从agent.email != ''开始,基本上,agent.email truth-y ,因此仅在布尔上下文中评估为false 如果是undefined或空(或0,但我相信在你的情况下不会发生)。

我想说的是,只需使用:

<p ng-if="agent.email">E-Mail: {{agent.email}}</p>

......你很高兴去!