为什么我的ng-show不起作用?

时间:2014-02-19 14:29:09

标签: angularjs

我有以下代码:

<div ng-init="showDetail = false">
    <table>
        <tbody>
            <tr ng-repeat="dataTable in arrayTableData">
                <td ng-repeat="data in dataTable.data" ng-click="showDetail = true;">{{data}}</td>
            </tr>
        </tbody>
    </table>
    <div ng-show="showDetail">
        <button ng-click="showDetail = false">Close</button>
    </div>
</div>

当您点击表格的数据时,我的变量showDetail会更改值,但我的div showDetailCell不会显示。

如果我使用showDetail更改true的初始化,则单击按钮时会显示详细信息并消失,但单元格上的单击不会显示showDetailCell

1 个答案:

答案 0 :(得分:1)

ng-repeat将获得自己的范围。由于Javascript继承,只要在子范围内分配父对象的变量,就会创建新变量。它将不再引用父对象变量。最好在范围变量中使用.表示法。

使用showDetail代替detail.toggle将解决问题。