在 AngularJS 中,为了简单地通过 a 标签显示一个字段,我会这样做:
<div ng-show="aField">Content of aField</div>
<a ng-click="aField=true">Show aField</a>
直到这里,没问题。我现在想放置更多按钮和字段,以便当我单击 A 时显示 A 的内容,然后当我单击按钮 B 时,A 的内容消失而 B 的内容出现。
我怎样才能做到这一点?谢谢你。
更新
谢谢大家的解决方案,他们有效!现在,我正在为 和 的每个内容制作一个模板,因为我有很多数据要显示,但都在相同的结构中。
这里是 index.html
<div ng-model="methods"
ng-include="'templateMethod.html'"
ng-repeat = "method in methods">
这里是script.js:
function Ctrl($scope) {
$scope.methods =
[ { name: 'method1',
description: 'bla bla bla',
benefits: 'benefits of method1',
bestPractices : 'bestPractices',
example: 'example'},
{ name: 'method2',
description: 'bla bla bla',
benefits: 'benefits of method2',
bestPractices : 'bestPractices',
example: 'example'} ];
}
这里是templateMethod.html:
<table>
<tr>
<td>
<div ng-show="toShow=='{{method.name}}Field'">
<h3>{{mmethodethod.name}}</h3>
<p>
<strong>Description</strong>
{{method.description}}
</p>
<p>
<strong>Benefits</strong>
{{method.benefits}}
</p>
<p>
<strong>Best practices</strong>
{{method.bestPractices}}
</p>
<p>
<strong>Examples</strong>
{{method.example}}
</p>
</div>
</td>
<td class = "sidebar">
<ul>
<li><a ng-click="toShow='{{method.name}}Field'" class="{{method.name}} buttons">{{method.name}}</a></li>
</ul>
</td>
</tr>
</table>
有用!但是:如果我点击第一个按钮,然后点击第二个,第一个按钮的内容并没有消失,它出现在第一个按钮的内容下面......重复有问题吗?
谢谢