【发布时间】:2017-11-09 11:56:53
【问题描述】:
AngularJs 的新手。在我的 html 中,我有两个表格行,它们一遍又一遍地重复和填充。如果我单击第一行上的按钮,我需要第二行出现/消失。这是我的目标中的一些伪的、不完整的角度
<tr ng-repeat-start="item in collection" id="firstTr">
<td>
<button type="button" ng-click="toggleTheSecondTr">
toggle visibility for second tr
</button>
<td>
<td>
{{item.value}}
</td>
</tr>
<tr ng-Hide="the above button got clicked" id="secondTr" ng-repeat-end>
<td>
something goes here, there can be many td's
</td>
<td>
{{item.someOtherValue}}
</td>
</tr>
这段代码会一遍又一遍地重复。但是,我需要以一种方式绑定按钮,当单击按钮时,第二行被隐藏,或者如果再次单击,它会再次显示,几乎就像一个拨动开关。我不知道该怎么做。我可以使用后面的 typescript 代码中的变量来跟踪它(我们使用的是 typescript,而不是 js),但我无法保证这两行将重复多少次,因此不知道要跟踪多少变量。关于如何解决我的问题的建议?
编辑:例如,我本质上希望功能与此页面中的表格非常相似,但我的行数是可变的,可以是一个或多个https://www.visualstudio.com/vs/compare/
【问题讨论】:
-
注意小写
ng-hide而不是ng-Hide,toggleTheSecondTr需要使用toggleTheSecondTr()进行函数调用,并且您需要该函数存在于控制器的$scope 中。希望对您有所帮助。 -
collection中的每个item是否有一个 id 或唯一值?如果是这样,您可以使用地图来跟踪显示/隐藏的内容。 -
是的,集合中的项目是独一无二的,它们取自具有大约 30-40 个不同属性的 json
-
像本页顶部这样的表格基本上是我想要完成的工作,单击 + 按钮可取消隐藏表格行以显示更多信息 visualstudio.com/vs/compare。
-
但在我的情况下,行数可以是 1 到 50 到 500 之间的任何位置,它是动态填充的
标签: html angularjs typescript