В AngularJS, чтобы просто показать поле через тег, я бы сделал так:
<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>
Оно работает! Но: если я нажимаю первую кнопку, а затем вторую, содержимое первой кнопки не исчезает, оно появляется под содержимым первой кнопки ... Проблема с повторением?
Спасибо