AngularJS - 在ng-repeat中使用ng-show

25

ng-repeat 块中使用 ng-show 指令时,我遇到了问题。

布尔值似乎没有被正确地传递给 ng-show...

为了说明我的意思,这里是我在 JSFiddle 中创建的示例截图:

enter image description here

以下是一些示例标记:

<table ng-controller="ActressController" class="table table-bordered table-striped">
    <tr ng-repeat="actress in actressList">
        <td>
            <span class="actress-name">{{ actress.name }}</span>
            <h4 ng-show="{ actress.name == 'Scarlett' }">Was in Avengers! <span class="note">(should only appear if Scarlett)</span></h4>
            <h2>{{ actress.name == 'Scarlett'}} <span class="note"><-- this statement is correct</span></h2>

        </td>

    </tr>
</table>

以下是一个控制器示例:

function ActressController($scope) {
    $scope.actressList = [
        {
            name: "Angelina"
        }, {
            name: "Scarlett"
        }, {
            name: 'Mila'
        }, {
            name: 'Megan'
        }
    ]        

}

你们有什么想法,我可能做错了什么吗?

1个回答

37

在你的ng-show中,你不需要使用 { } ,试试这样:

<h4 ng-show="actress.name == 'Scarlett'">Was in Avengers! <span class="note">

请查看这个示例,其中展示了在ng-repeat中使用ng-show的工作样例。


啊,简单修复 - 从文档上看,花括号似乎是必需的。谢谢! - PhillipKregg
@foozhan创建了一个新的小提琴,展示了ng-repeat中的ng-show。谢谢你让我知道它是坏的! - Gloopy
你的小提琴有误,因为它循环的是<ul>而不是<il>。试试这个 - NetworkMeister

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接